原文:《使用log4net,没有日志文件生成》 Posted on 2014/06/12
================================================================================
log4net主页:Apache log4net: Home
上周刚学习了下用法,参考Apache log4net Manual: Configuration一步步配置下来,运行正常。
然后我把配置写到app.config中,并把.exe和需要的.dll拷到其他目录中,一运行发现没有日志文件生成。今天重新看了一遍Apache log4net Manual: Configuration,突然发现工程编译后还产生了一个.exe.config的文件。里面就是原先app.config中的内容,连同该文件一同拷贝到另外目录就可以正常运行了。
配置如下:
AssemblyInfo.cs:
[assembly: log4net.Config.XmlConfigurator(Watch=true)]
App.config:
1 <?xml version="1.0" encoding="utf-8" ?> 2 <configuration> 3 <configSections> 4 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> 5 </configSections> 6 7 <log4net> 8 <appender name="Console" type="log4net.Appender.ConsoleAppender"> 9 <layout type="log4net.Layout.PatternLayout"> 10 <conversionPattern value="%5level [%thread] (%file:%line) - %message%newline" /> 11 </layout> 12 </appender> 13 <appender name="RollingFile" type="log4net.Appender.RollingFileAppender"> 14 <file value="example.log" /> 15 <appendToFile value="true" /> 16 <maximumFileSize value="100KB" /> 17 <maxSizeRollBackups value="2" /> 18 <layout type="log4net.Layout.PatternLayout"> 19 <conversionPattern value="%level %thread %logger - %message%newline" /> 20 </layout> 21 </appender> 22 <root> 23 <level value="DEBUG" /> 24 <appender-ref ref="Console" /> 25 <appender-ref ref="RollingFile" /> 26 </root> 27 </log4net> 28 </configuration>
Program.cs
1 using log4net; 2 using log4net.Config; 3 4 namespace ConsoleApplication5 5 { 6 class MyApp 7 { 8 private static readonly ILog log = LogManager.GetLogger(typeof(MyApp)); 9 10 static void Main(string[] args) 11 { 12 //BasicConfigurator.Configure(); 13 //XmlConfigurator.Configure(); 14 15 log.Info("Entering application."); 16 } 17 } 18 }
===================================================================
Update: 2014-10-22
配置RollingFileAppender:根据设置的文件大小最大值Roll,限制所有日志文件总大小。
如下,追加到文件尾、所有日志文件总大小限制为1GB = (RollBackup文件数最大值15 + 在工作状态的日志文件)*64MB;
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender"> <appendToFile value="true" /> <maximumFileSize value="64MB" /> <maxSizeRollBackups value="15" /> <rollingStyle value="Size"/> ... </appender>
RollingFileAppender.RollingStyle
【END】