天天看點

C# 日志 log4net配置

第一步:在項目中添加對log4net.dll的引用,這裡引用版本是1.2.10.0。

第二步:程式啟動時讀取log4net的配置檔案。

如果是CS程式,在根目錄的Program.cs中的Main方法中添加:

log4net.Config.XmlConfigurator.Configure();

如果是BS程式,在根目錄的Global.asax.cs(沒有建立一個)中的Application_Start方法中添加:

log4net.Config.XmlConfigurator.Configure();

無論BS還是CS程式都可直接在項目的AssemblyInfo.cs檔案裡添加以下的語句:

[assembly: log4net.Config .XmlConfigurator()]

也可以使用自定義的配置檔案,具體請參見4.4 關聯配置檔案。

第三步:修改配置檔案。如果是CS程式,則在預設的App.config檔案(沒有建立一個)中添加内容;如果是BS程式,則添加到Web.config檔案中,添加内容一樣,這裡不再列出。

App.config檔案添加内容如下:

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

  <configSections>

<section name="log4net"

type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />

  </configSections>

  <log4net>

    <root>

      <level value="WARN" />

      <appender-ref ref="LogFileAppender" />

      <appender-ref ref="ConsoleAppender" />

    </root>

    <logger name="testApp.Logging">

      <level value="DEBUG"/>

    </logger>

    <appender name="LogFileAppender" type="log4net.Appender.FileAppender" >

      <param name="File" value="log-file.txt" />

      <param name="AppendToFile" value="true" />

      <layout type="log4net.Layout.PatternLayout">

        <param name="Header" value="[Header] "/>

        <param name="Footer" value="[Footer] "/>

        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x]  - %m%n" />

      </layout>

      <filter type="log4net.Filter.LevelRangeFilter">

        <param name="LevelMin" value="DEBUG" />

        <param name="LevelMax" value="WARN" />

      </filter>

    </appender>

    <appender name="ConsoleAppender"  type="log4net.Appender.ConsoleAppender" >

      <layout type="log4net.Layout.PatternLayout">

        <param name="ConversionPattern"  value="%d [%t] %-5p %c [%x] - %m%n" />

      </layout>

    </appender>

  </log4net>

</configuration>

第四步:在程式使用。

log4net.ILog log = log4net.LogManager.GetLogger("testApp.Logging");//擷取一個日志記錄器

log.Info(DateTime.Now.ToString() + ": login success");//寫入一條新log

這樣就将資訊同時輸出到控制台和寫入到檔案名為“log-file.txt”的檔案中,其中“log-file.txt”檔案的路徑是目前程式運作所在目錄;也可以定義為絕對路徑,配置如:

<param name="File" value="C:/log-file.txt" />就寫入C槽根目錄下log-file.txt檔案中,具體使用技巧參見4.2.1

轉載:https://blog.csdn.net/binnygoal/article/details/79557746