C#中使用log4net

log4net是開源日誌組件,配置類似log4j。
log4net下載地址:http://logging.apache.org/log4net/

1.控制檯應用配置log4net

a.新建控臺應用Test,引入log4net.dll

b.在Test\bin\Debug目錄下新建Test.exe.config 添加如下配置

<?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    <configSections>
      <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
    </configSections>
    <log4net debug="true">
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <!--file可以指定具體的路徑 eg: C:\test.log。不指定的話log被生成在項目的bin/Debug 或者 bin/Release目錄下-->
      <file value="test.log" />
      <appendToFile value="true" />
      <rollingStyle value="Size" />    
      <!--備份log文件的個數-->
      <maxSizeRollBackups value="10" />
     <!--每個log文件最大是2M-->
      <maximumFileSize value="2MB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
      <!--指定log的格式-->
        <conversionPattern value="[%date]  %thread -- %-5level -- %logger [%M] -- %message%newline" />
      </layout>
     </appender>
    <root>
      <level value="DUBEG" />
      <appender-ref ref="RollingLogFileAppender" />
    </root>
    </log4net>
    </configuration>

c.配置assembly

在類的namespace上面添加

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

d.log4net在類中的用法

log4net.ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
   log.Error("error");
   log.Fatal("fatal");
   log.Info("info");
   log.Debug("debug");
   log.Warn("warn");


2.WCF配置log4net

a.引入log4net.dll

b.在web.config <configuration>標籤下添加如下配置

<configSections>
   <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
   <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="C:\test.log" />
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="10" />
      <maximumFileSize value="2MB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="[%date]  %thread -- %-5level -- %logger [%M] -- %message%newline" />
      </layout>
   </appender>
   <root>
      <level value="DEBUG" />
      <appender-ref ref="RollingLogFileAppender" />
   </root>
</log4net>

c.配置assembly

在需要用到log4net的模塊的AssemblyInfo添加

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]

並引入log4net.dll。

d.log4net在類中的用法

log4net.ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
        log.Error("error", new Exception("error"));
        log.Fatal("fatal", new Exception("error"));
        log.Info("info");
        log.Debug("debug");
        log.Warn("warn");

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章