C#中增加log4net步驟
要求:日志功能:info, debug ,error 三種級(jí)別的日志均可以通過log 日志的方式查看,支持日志按天分文件保存文件夾; 添加日志自動(dòng)清除策略,支持可配置,默認(rèn)保留30天
第一步:在NuGet中添加log4net
工具->NuGet包管理器->管理解決方案的NuGet程序包

第二步:增加配置文件log4net.config
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<root>
<!--打印級(jí)別,如果要打Debug日志,請(qǐng)改為BEBUG-->
<level value="INFO" />
<appender-ref ref="ConsoleOutput" />
<appender-ref ref="RollingFileDebug" />
<appender-ref ref="RollingFileInfo" />
<appender-ref ref="RollingFileError" />
</root>
<appender name="ConsoleOutput" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%-5level] [%date{yyyy-MM-dd HH:mm:ss.fff}] %24logger [%line] [%t] [%M] - %message%newline" />
</layout>
<filter type="log4net.Filter.LevelMatchFilter">
<levelToMatch value="INFO"/>
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
</appender>
<appender name="RollingFileDebug" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="logs/debug/client_debug_log_"/>
<appendToFile value="true"/>
<encoding value="utf-8" />
<maxSizeRollBackups value="30"/>
<maximumFileSize value="10MB"/>
<staticLogFileName value="false"/>
<datePattern value="yyyy-MM-dd".log""/>
<rollingStyle value="Date"/>
<!--保證在日志分割時(shí),新日志的序號(hào)會(huì)添加在后綴名之前-->
<preserveLogFileNameExtension value="true"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%-5level] [%date{yyyy-MM-dd HH:mm:ss.fff}] %24logger [%line] [%t] [%M] - %message%newline" />
</layout>
<lockingmodel type="log4net.appender.fileappender+minimallock" />
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="DEBUG" />
<levelMax value="DEBUG" />
</filter>
</appender>
<appender name="RollingFileInfo" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="logs/info/client_info_log_"/>
<appendToFile value="true"/>
<encoding value="utf-8" />
<maxSizeRollBackups value="30"/>
<maximumFileSize value="10MB"/>
<staticLogFileName value="false"/>
<datePattern value="yyyy-MM-dd".log""/>
<rollingStyle value="Date"/>
<!--保證在日志分割時(shí),新日志的序號(hào)會(huì)添加在后綴名之前-->
<preserveLogFileNameExtension value="true"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%-5level] [%date{yyyy-MM-dd HH:mm:ss.fff}] %24logger [%line] [%t] [%M] - %message%newline" />
</layout>
<lockingmodel type="log4net.appender.fileappender+minimallock" />
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="INFO" />
<levelMax value="ERROR" />
</filter>
</appender>
<appender name="RollingFileError" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="logs/error/client_error_log_"/>
<appendToFile value="true"/>
<encoding value="utf-8" />
<maxSizeRollBackups value="30"/>
<maximumFileSize value="10MB"/>
<staticLogFileName value="false"/>
<datePattern value="yyyy-MM-dd".log""/>
<rollingStyle value="Date"/>
<!--保證在日志分割時(shí),新日志的序號(hào)會(huì)添加在后綴名之前-->
<preserveLogFileNameExtension value="true"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%-5level] [%date{yyyy-MM-dd HH:mm:ss.fff}] %24logger [%line] [%t] [%M] - %message%newline" />
</layout>
<lockingmodel type="log4net.appender.fileappender+minimallock" />
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="ERROR" />
<levelMax value="ERROR" />
</filter>
</appender>
</log4net>
第三步:在Main中增加一行代碼(用于從指定的XML配置文件(在這個(gè)例子中是log4net.config)中加載日志配置)
XmlConfigurator.Configure(new FileInfo("log4net.config"));

浙公網(wǎng)安備 33010602011771號(hào)