如何使用 Log4net RolloverFileAppender 在应用程序启动时强制翻转?

2024-04-24

在我们的应用程序中配置 Log4Net 以使用带日期标记的名称和 10Meg 文件大小限制。
这会在午夜以及每当达到 10Meg 限制时自动转存到新文件。 我还想在每次启动(或关闭)应用程序时将日志记录到一个新文件。
我可以获得所有三种翻转行为吗?


Set 附加到文件 http://logging.apache.org/log4net/release/sdk/log4net.Appender.FileAppender.AppendToFile.html在你的配置文件中设置为 false 。

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
....
  <appendToFile value="false" />
....
</appender>

编辑:回答克雷格的评论:

如果正确设置 StaticLogFileName 和 CountDirection(请参阅http://logging.apache.org/log4net/release/sdk/log4net.Appender.RollingFileAppender.html http://logging.apache.org/log4net/release/sdk/log4net.Appender.RollingFileAppender.html了解更多),然后事情就会按需要进行。我们以编程方式在我们使用它的应用程序中配置记录器,但代码如下所示:

Dim Layout As New PatternLayout("%date{yyyy-MM-dd HH:mm:ss,fff} [%-6thread] %-5level %type{2}.%method(%line) - %message%newline") 
Dim Appender As New log4net.Appender.RollingFileAppender()
Appender.File = Path.Combine(FileSystemHelper.LogDirectory, LogFileName)
Appender.Layout = Layout
Appender.AppendToFile = False ' we will start a new one when the program starts'
Appender.Name = "RollingLogFileAppender"
Appender.Threshold = LogLevel() 'May want to set this by configuration'
Appender.RollingStyle = log4net.Appender.RollingFileAppender.RollingMode.Size 'This means it will start a new log file each time the log grows to 10Mb'
Appender.MaximumFileSize = "10MB"
Appender.MaxSizeRollBackups = -1 'keep an infinite number of logs'
Appender.StaticLogFileName = True
Appender.CountDirection = 1 ' to reduce rollover costs'
log4net.Config.BasicConfigurator.Configure(Appender)
Appender.ActivateOptions()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Log4net RolloverFileAppender 在应用程序启动时强制翻转? 的相关文章

随机推荐