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");