如何让Log4Net创建一个简单的file.log,并在新日期开始时将其重命名为file-dd-mm-yyyy.log?

Son*_*ken 1 logging log4net config sitecore sitecore8

所以我希望今天的日志文件完全清除文件名中的所有日期格式,这样总能找到今天的日志文件很容易.但是,我希望在新的一天开始时,使用日期戳重命名旧的日志文件.

所以日志文件夹看起来像这样:

log.log (< - todays                          logfile)
log-16.02.2016.log
log-15.02.2016.log

jam*_*kam 5

使用默认文件appender是不可能的,您可以使用Rolling File Appender并根据日期滚动它们.这不会考虑应用程序重启,就像当前的appender一样.

添加一个新的appender然后更新根记录器以使用这个:

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender, Sitecore.Logging">
  <file value="logfile" />
  <appendToFile value="true" />
  <rollingStyle value="Date" />
  <datePattern value="yyyyMMdd" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%4t %d{ABSOLUTE} %-5p %m%n" />
  </layout>
</appender>
<root>
  <priority value="INFO" />
  <appender-ref ref="RollingLogFileAppender" />
</root>
Run Code Online (Sandbox Code Playgroud)

另一种方法是重命名默认文件appender的文件名格式:

<file value="$(dataFolder)/logs/{date}.log.txt" />
Run Code Online (Sandbox Code Playgroud)

这将允许您更轻松地将日志文件排序(和分组)在一起.您可以在此博客文章中找到更多想法.