我配置log4net使用组合RollingFileAppender,以便当前文件总是命名为logfile.log,所有后续文件都命名为logfile-YYYY.MM.dd.seq.log其中seq是序列号,如果一个日志超过一定大小在一天内。不幸的是,我在配置这样的设置方面取得了很小的成功。
编辑:
我的当前配置被粘贴在下面。它已经基于几个答案更新,使我足够满足我的需要。这将生成格式为filefile_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会导致记录器不写任何文件。
我们使用以下(在Log4J中):
原文链接:https://www.f2er.com/xml/293370.html<appender name="roller" class="org.apache.log4j.DailyRollingFileAppender"> <param name="File" value="Applog.log"/> <param name="DatePattern" value="'.'yyyy-MM-dd"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="[slf5s.start]%d{DATE}[slf5s.DATE]%n%p[slf5s.PRIORITY]%n%x[slf5s.NDC]%n%t[slf5s.THREAD]%n%c[slf5s.CATEGORY]%n%l[slf5s.LOCATION]%n%m[slf5s.MESSAGE]%n%n"/> </layout> </appender>
这给了我们Applog.log.yyyy-MM-dd文件