首先使用Nuget 获取log4net 程序集。
添加配置文件 log4net.config 内容如下:
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<!--error-->
<appender name="errorAppender" type="log4net.Appender.RollingFileAppender">
<filter type="log4net.Filter.LevelMatchFilter">
<levelToMatch value="ERROR" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
<file value="Logs/err.log" />
<encoding value="utf-8"/>
<preserveLogFileNameExtension value="true" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<maxSizeRollBackups value="10"/>
<maximumFileSize value="10MB"/>
<datePattern value="yyyyMMdd" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] - %message%newline" />
</layout>
</appender>
<!--info-->
<appender name="infoAppender" type="log4net.Appender.RollingFileAppender">
<filter type="log4net.Filter.LevelMatchFilter">
<levelToMatch value="INFO" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
<file value="Logs/info.log" />
<encoding value="utf-8"/>
<preserveLogFileNameExtension value="true" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<maxSizeRollBackups value="10"/>
<maximumFileSize value="10MB"/>
<datePattern value="yyyyMMdd" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] - %message%newline" />
</layout>
</appender>
<!--debug-->
<appender name="debugAppender" type="log4net.Appender.RollingFileAppender">
<filter type="log4net.Filter.LevelMatchFilter">
<levelToMatch value="DEBUG" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
<file value="Logs/debug.log" />
<encoding value="utf-8"/>
<preserveLogFileNameExtension value="true" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<maxSizeRollBackups value="10"/>
<maximumFileSize value="10MB"/>
<datePattern value="yyyyMMdd" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] - %message%newline" />
</layout>
</appender>
<!--warn-->
<appender name="warnAppender" type="log4net.Appender.RollingFileAppender">
<filter type="log4net.Filter.LevelMatchFilter">
<levelToMatch value="Warn" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
<file value="Logs/warn.log" />
<encoding value="utf-8"/>
<preserveLogFileNameExtension value="true" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<maxSizeRollBackups value="10"/>
<maximumFileSize value="10MB"/>
<datePattern value="yyyyMMdd" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] - %message%newline" />
</layout>
</appender>
<!--fatal-->
<appender name="fatalAppender" type="log4net.Appender.RollingFileAppender">
<filter type="log4net.Filter.LevelMatchFilter">
<levelToMatch value="Fatal" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
<file value="Logs/fatal.log" />
<encoding value="utf-8"/>
<preserveLogFileNameExtension value="true" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<maxSizeRollBackups value="10"/>
<maximumFileSize value="10MB"/>
<datePattern value="yyyyMMdd" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] - %message%newline" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="errorAppender" />
<appender-ref ref="infoAppender" />
<appender-ref ref="debugAppender" />
<appender-ref ref="warnAppender" />
<appender-ref ref="fatalAppender" />
</root>
</log4net>
使用方法:
static private log4net.ILog log = log4net.LogManager.GetLogger(typeof(所在类的类名));
log.Error(ex.ToString()); //异常日志 具体根据配置文件中配置的类型
如果运行提示找不到log4net.config文件,请复制log4net.config 文件到bin文件夹下的 Debug 文件中和Release 文件中。