将 log4net RollingFileAppender 配置为按大小滚动但附加日期时间?

Configure log4net RollingFileAppender to roll on size but append datetime?

我想配置我的 log4net Rolling 日志附加器,这样我的初始日志文件的名称是:-

log_{current_datetime}.log

当文件达到 25MB 大小时,应创建一个具有相同格式的新日志文件,并且不应重命名以前的日志文件。

如何在 log4net appender 上进行这样的设置?

如果您观看此视频,其中有关于 rollngFileAppender 的配置示例。 我的示例用法如下。它每天创建文件。

link : 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" />

使用 PatternString 作为文件名:

<file type="log4net.Util.PatternString" value="log_%date{yyyyMMdd}.log" />

为了配置滚动大小,请确保指定 RollingStyle 和 MaximumFileSize:

<rollingStyle value="Size"/>
<maximumFileSize value="25MB"/>

可以找到完整示例 here

更新:

不幸的是,文件名中指定的日期仅在配置时进行评估,这意味着在重新配置 log4net 之前,每次滚动都会使用相同的日期。我还没有找到解决这个问题的方法。