我将 log4net 配置为使用复合 RollingFileAppender 以便当前文件始终命名为logfile.log并且所有后续文件都命名为logfile-YYYY.MM.dd.seq.log其中seq是如果日志超过特定大小的序列号一天之内。不幸的是,我在配置这样的设置方面收效甚微。
编辑:
我当前的配置粘贴在下面。它已经根据几个答案进行了更新,这些答案让我足够接近我的需求。这会生成以下格式的文件:logfile_YYYY.MM.dd.log.seq
<log4net>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingFileAppender" />
</root>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logs\\logfile"/>
<staticLogFileName value="false"/>
<appendToFile value="true"/>
<rollingStyle value="Composite"/>
<datePattern value="_yyyy.MM.dd".log""/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="75KB"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="FATAL" />
</filter>
</appender>
</log4net>
一个有趣的笔记,设置
<staticLogFileName value="false"/>
为 true 会导致记录器不写入任何文件。