一、在应用程序中使用log4net(使用单独的配置文件)
1. 引用log4net包,在工程的properties目录下的AssemblyInfo.cs加上
using log4net;
using log4net.Config;
//注意:ConfigFile属性不能和ConfigFileExtension属性一起使用,ConfigFile需要指定路径和文件名,不指定路径,则加载应用程序根目录下的文件
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config")]
2. 在工程目录下新建配置文件log4net.config,加入以下内容
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<root>
<level value="debug" />
<appender-ref ref="LogFileAppender" />
<appender-ref ref="ErrorLogFileAppender" />
</root>
<!--
<logger name="testApp.Logging">
<level value="DEBUG"/>
</logger>
-->
<appender name="LogFileAppender"
type="log4net.Appender.RollingFileAppender" >
<!--日志的路径-->
<param name="File" value="c:\\log\\" />
<!--是否覆盖,默认是追加true-->
<param name="AppendToFile" value="true" />
<param name="rollingStyle" value="Date" />
<!--文件名称-->
<param name="datePattern" value="yyyy-MM-dd HHmm'.txt'" />
<!--名称是否可以更改为false为可以更改-->
<param name="staticLogFileName" value="false" />
<!--设置无限备份=-1 ,最大备份数为1000-->
<param name="maxSizeRollBackups" value="1000" />
<!--每个文件的最大3M-->
<param name="maximumFileSize" value="3000" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern"
value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
<appender name="ErrorLogFileAppender"
type="log4net.Appender.RollingFileAppender" >
<!--日志的路径-->
<param name="File" value="c:\\error\\" />
<!--是否覆盖,默认是追加true-->
<param name="appendToFile" value="true" />
<param name="rollingStyle" value="Date" />
<!--文件名称-->
<param name="datePattern" value="yyyy-MM-dd HHmm'.txt'" />
<!--名称是否可以更改为false为可以更改-->
<!--名称是否可以更改为false为可以更改-->
<param name="staticLogFileName" value="false" />
<!--设置无限备份=-1 ,最大备份数为1000-->
<param name="maxSizeRollBackups" value="-1" />
<!--每个文件的最大3M-->
<param name="maximumFileSize" value="3000" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern"
value="%d [%t] %-5p %c - %m%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="ERROR" />
<param name="LevelMax" value="ERROR" />
</filter>
</appender>
</log4net>
</configuration>
3. 编写程序
a) 导入包using log4net;
b) 编码代码
ILog logger = log4net.LogManager.GetLogger("");
logger.Debug("DebugDebugDebugDebugDebugDebugDebug");
4. 将生成的log4net.config拷贝直你的应用程序同级目录下,运行即可
二、在asp.net中使用log4net
1. 引用log4net包,先在web.config中的<configuration>节点下添加如下配置:
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
2. 在web.config自定义节点
<log4net>
<root>
<level value="debug" />
<appender-ref ref="LogFileAppender" />
<appender-ref ref="ErrorLogFileAppender" />
</root>
<!--
<logger name="testApp.Logging">
<level value="DEBUG"/>
</logger>
-->
<appender name="LogFileAppender"
type="log4net.Appender.RollingFileAppender" >
<!--日志的路径-->
<param name="File" value="c:\\log\\" />
<!--是否覆盖,默认是追加true-->
<param name="AppendToFile" value="true" />
<param name="rollingStyle" value="Date" />
<!--文件名称-->
<param name="datePattern" value="yyyy-MM-dd HHmm'.txt'" />
<!--名称是否可以更改为false为可以更改-->
<param name="staticLogFileName" value="false" />
<!--设置无限备份=-1 ,最大备份数为1000-->
<param name="maxSizeRollBackups" value="1000" />
<!--每个文件的最大3M-->
<param name="maximumFileSize" value="3000" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern"
value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
<appender name="ErrorLogFileAppender"
type="log4net.Appender.RollingFileAppender" >
<!--日志的路径-->
<param name="File" value="c:\\error\\" />
<!--是否覆盖,默认是追加true-->
<param name="appendToFile" value="true" />
<param name="rollingStyle" value="Date" />
<!--文件名称-->
<param name="datePattern" value="yyyy-MM-dd HHmm'.txt'" />
<!--名称是否可以更改为false为可以更改-->
<!--名称是否可以更改为false为可以更改-->
<param name="staticLogFileName" value="false" />
<!--设置无限备份=-1 ,最大备份数为1000-->
<param name="maxSizeRollBackups" value="-1" />
<!--每个文件的最大3M-->
<param name="maximumFileSize" value="3000" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern"
value="%d [%t] %-5p %c - %m%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="ERROR" />
<param name="LevelMax" value="ERROR" />
</filter>
</appender>
</log4net>
3、在Global.asax.cs的Application_Start过程中添加如下代码
log4net.Config.DOMConfigurator.Configure();
4、使用,如
private static readonly ILog log = LogManager.GetLogger(typeof(log4nettest));
log.Debug("这是我在使用Log4Net");