使用log4net

原文:《使用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】

你可能感兴趣的:(log)