我想配置我的 log4net 滚动日志附加程序,以便我的初始日志文件的名称是:-
log_{current_datetime}.log
当文件达到 25MB 大小时,应以相同的格式创建一个新的日志文件,并且不应重命名以前的日志文件。
如何在 log4net appender 上进行这样的设置?
我想配置我的 log4net 滚动日志附加程序,以便我的初始日志文件的名称是:-
log_{current_datetime}.log
当文件达到 25MB 大小时,应以相同的格式创建一个新的日志文件,并且不应重命名以前的日志文件。
如何在 log4net appender 上进行这样的设置?
使用 PatternString 作为文件名:
<file type="log4net.Util.PatternString" value="log_%date{yyyyMMdd}.log" />
为了配置滚动大小,请确保指定 RollingStyle 和 MaximumFileSize:
<rollingStyle value="Size"/>
<maximumFileSize value="25MB"/>
完整的例子可以在这里找到。
更新:
不幸的是,文件名中指定的日期仅在配置时评估,这意味着在重新配置 log4net 之前,每次滚动都将使用相同的日期。我还没有找到解决此问题的方法。
如果您观看此视频,则有关于 rollngFileAppender 的配置示例。我的示例用法如下。它每天都会创建文件。
链接:https ://www.youtube.com/watch?v=2lAdQ_QwNww
<appender name="JsonFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="c:\\Log\\.json"/>
<param name="AppendToFile" value="true"/>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<param name="RollingStyle" value="Date"/>
<param name="DatePattern" value="'SampleProjectLog_'dd.MM.yyyy"/>
<param name="StaticLogFileName" value="false"/>
<preserveLogFileNameExtension value="true" />
<layout type="OrmanSu.Altyapi.Core.CrossCuttingConcern.Logging.Log4Net.Layouts.JsonLayout" />