使用log4net

时间:2023-03-09 05:41:45
使用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:

 <?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections> <log4net>
<appender name="Console" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%5level [%thread] (%file:%line) - %message%newline" />
</layout>
</appender>
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<file value="example.log" />
<appendToFile value="true" />
<maximumFileSize value="100KB" />
<maxSizeRollBackups value="2" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level %thread %logger - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="Console" />
<appender-ref ref="RollingFile" />
</root>
</log4net>
</configuration>

Program.cs

 using log4net;
using log4net.Config; namespace ConsoleApplication5
{
class MyApp
{
private static readonly ILog log = LogManager.GetLogger(typeof(MyApp)); static void Main(string[] args)
{
//BasicConfigurator.Configure();
//XmlConfigurator.Configure(); log.Info("Entering application.");
}
}
}

===================================================================

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】