log4net.config如下所示
我只希望日志文件每天滚动到一个新文件。但它在一天内翻了很多次,扩展名为.1
,.2
,.3
...
我只记录了一些活动,因此日志文件的文件大小应该很小。通常我一天不会超过100行日志。
<appender name="DebugRollingFile" type="log4net.Appender.RollingFileAppender,log4net">
<param name="File" value="D:\\log\\hdpca.bill.debug.log" />
<param name="AppendToFile" value="false" />
<param name="RollingStyle" value="Date" />
<param name="StaticLogFileName" value="true" />
<param name="MaxFileSize" value="10240" />
<param name="MaxSizeRollBackups" value="100" />
<param name="DatePattern" value="yyyyMMdd".log"" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
<param name="Header" value=" ----------------------header-------------------------- " />
<param name="Footer" value=" ----------------------footer-------------------------- " />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="DEBUG" />
</filter>
</appender>
答案 0 :(得分:2)
您需要将appendToFile设置为 true ;否则你将覆盖你的日志文件。
您指定的其他属性也存在一些问题。如果您希望按日期滚动日志,则需要删除MaxFileSize,并且在按日期滚动日志时无法指定MaxSizeRollBackups。在配置下面给出配置。它应该解决你的问题。
所以,简而言之:
示例配置:
<appender name="DebugRollingFile" type="log4net.Appender.RollingFileAppender">
<file value="D:\\log\\hdpca.bill.debug"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyyMMdd.lo\g" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
<param name="Header" value=" ----------------------header-------------------------- " />
<param name="Footer" value=" ----------------------footer-------------------------- " />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="DEBUG" />
</filter>
</appender>
答案 1 :(得分:-1)
我建议使用'MaximumFileSize'而不是'MaxFileSize'属性,因为它允许您使用suffixes:“KB”,“MB”或“GB”。
<maximumFileSize value="10MB" />
您的配置将文件大小设置为10KB(实际上并不多)。
<强>更新强> 也许你的日期模式就是问题所在。我不确定在那里有转义序列是否合适。试试这个:
<datePattern value="yyyyMMdd'.log'" />
甚至
<datePattern value="yyyyMMdd" />