读书人

log4net 按日期生成文件名 如何每天

发布时间: 2013-10-27 15:21:49 作者: rapoo

log4net 按日期生成文件名, 怎么每天生成一个文件呢?

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!--Log设定-->
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.0" />
</configSections>
<log4net>
<!--日志记录器logger,可以有多个-->
<logger name="fileLog">
<level value="ALL" />
<appender-ref ref="ConsoleAppender" />
<!--<appender-ref ref="LogFileAppender" />-->
<appender-ref ref="RollingLogFileAppender" />
</logger>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
</layout>
</appender>
<!--<appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
<param name="File" value="logRaifuRFID.txt" />
<param name="AppendToFile" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>-->

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Log"/>
<param name="AppendToFile" value="true"/>
<param name="MaxSizeRollBackups" value="10"/>
<param name="StaticLogFileName" value="false"/>
<param name="DatePattern" value="yyyyMMdd".log""/>
<param name="RollingStyle" value="Date"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n%n"/>
</layout>
</appender>


</log4net>
</configuration>



用log4net,,按上面配置,

目录下生成一个当前日期命名的 文件了

但是,修改系统日期后,,没有自动生成一个新的以日期 命名的文件

咋回事啊?


[解决办法]
当天的日志文件名为Log
非当天的日志才是yyyyMMdd.log

*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
[解决办法]
我也是log4net初学者。

我好奇的是
他怎么分辨是调用哪个Appender,

你的Appender没有设置对应的Level
 <appender-ref ref="ConsoleAppender" />

<appender-ref ref="RollingLogFileAppender" />


[解决办法]
引用:
我也是log4net初学者。

我好奇的是
他怎么分辨是调用哪个Appender,

你的Appender没有设置对应的Level
 <appender-ref ref="ConsoleAppender" />

<appender-ref ref="RollingLogFileAppender" />

是根据logger来判断的
<logger name="fileLog">
[解决办法]
引用:
Quote: 引用:

我也是log4net初学者。

我好奇的是
他怎么分辨是调用哪个Appender,

你的Appender没有设置对应的Level
 <appender-ref ref="ConsoleAppender" />

<appender-ref ref="RollingLogFileAppender" />

是根据logger来判断的
<logger name="fileLog">

代码里怎么用log4net,我是知道的。
我看到"fileLog的对应的Level是ALL,那意味这所有的日志都会输出,INFO,ERROR等这些具体的日志是使用ConsoleAppender 还是RollingLogFileAppender ?是根据什么来判断的?
------解决方案--------------------


引用:
Quote: 引用:

Quote: 引用:

我也是log4net初学者。

我好奇的是
他怎么分辨是调用哪个Appender,

你的Appender没有设置对应的Level
 <appender-ref ref="ConsoleAppender" />

<appender-ref ref="RollingLogFileAppender" />

是根据logger来判断的
<logger name="fileLog">

代码里怎么用log4net,我是知道的。
我看到"fileLog的对应的Level是ALL,那意味这所有的日志都会输出,INFO,ERROR等这些具体的日志是使用ConsoleAppender 还是RollingLogFileAppender ?是根据什么来判断的?

一个logger下面可以有多个appender,可以分别输出。
Level是针对logger的,fileLog设置为ALL,所有的日志调用都分别输出到file和console

读书人网 >C#

热点推荐