更改log4net配置以每隔x小时创建一个新日志 [英] Change log4net config to create every x hour new log
问题描述
如果我想每隔x个小时记录一次日志,我仍然没有真正知道如何更改log4net.我有这个:
I still dont really get it how to change log4net if I would like to have every x hour a log. I have this:
<log4net>
<root>
<level value="DEBUG"/>
<appender-ref ref="LogFileAppender"/>
</root>
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="C:\log.txt"/>
<param name="AppendToFile" value="true"/>
<rollingStyle value="Size"/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="100MB"/>
<staticLogFileName value="true"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss} – %m%n"/>
</layout>
</appender>
</log4net>
我有一个日志,我总是在该log.txt中添加日志-现在,我想让我们每天说一个新的日志文件(24小时),或者说每12小时说一个新日志.我必须在配置中进行哪些更改?对我的配置有什么建议吗?谢谢
I have one log and Im adding the logs always in this one log.txt - now I would like to have lets say for every day a new log file (24hours) or maybe for every 12hours a new log. What do I have to change in my config? Any suggestions to my config? Thank you
推荐答案
RE: http://logging.apache.org/log4net/release/config-examples.html
此示例显示如何配置RollingFileAppender以在某个日期周期内滚动日志文件.此示例将每分钟滚动一次日志文件!要更改滚动周期,请调整DatePattern值.例如,日期模式"yyyyMMdd"将每天滚动.有关可用模式的列表,请参见System.Globalization.DateTimeFormatInfo
.
This example shows how to configure the RollingFileAppender to roll log files on a date period. This example will roll the log file every minute! To change the rolling period adjust the DatePattern value. For example, a date pattern of "yyyyMMdd" will roll every day. See System.Globalization.DateTimeFormatInfo
for a list of available patterns.
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logfile" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd-HHmm" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
在您的特定情况下,上面带有<datePattern value="yyyyMMdd-HH" />
的示例仅允许您每小时记录一次.
In your particular case, the above example with <datePattern value="yyyyMMdd-HH" />
would only allow you to log every hour.
但是,如果要每隔X
小时记录一次,则可以创建一个从RollingFileAppender
派生的自定义附加程序,并覆盖AdjustFileBeforeAppend
方法,该方法将根据下一个计划的日志间隔日期检查当前时间.例如,请参见将Log4Net RollingFileAppender设置为每周滚动.
However, if you wanted to log every X
hour, you could create a custom appender derived from RollingFileAppender
and override the AdjustFileBeforeAppend
method that would check the current time against your next scheduled log interval date. See Have a Log4Net RollingFileAppender set to roll weekly for example.
这篇关于更改log4net配置以每隔x小时创建一个新日志的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!