【问题标题】:how to create a new log file every time when the application starts using lo4net每次应用程序开始使用 lo4net 时如何创建一个新的日志文件
【发布时间】:2017-01-24 08:50:29
【问题描述】:

如何在应用程序每次开始使用 lo4net 时创建一个新的日志文件。或者我想每次都清除日志文件。 RollingFileAdapter 没有给我任何解决方案。 查看我的代码:

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
  <param name="File" value="Log.txt"/>
  <param name="AppendToFile" value="true" />
  <rollingStyle value="Size" />
  <maxSizeRollBackups value="10" />
  <maximumFileSize value="1MB" />
  <staticLogFileName value="true" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%identity - [%date] [%level] %class %method  %message %exception %newline" />
  </layout>
</appender>

在这里我必须添加什么或其他什么?

现在我改成了这个,但我想为每次执行添加一个带有日期时间的文件名。

<appender name="RollingFileAppender"type="log4net.Appender.RollingFileAppender"> 
  <file value="log\" />
  <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
  <datePattern value="dd.MM.yyyy'.log'" />
  <appendToFile value="false" />
  <staticLogFileName value="false" />
  <rollingStyle value="Composite" />
  <maxSizeRollBackups value="10" />
  <maximumFileSize value="5MB" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="[%date] [%level] Class Name: %class Method Name: %method line No: %line %message %exception %newline" />
  </layout>

【问题讨论】:

  • log4net one file per run 的可能重复项,或者如果您想在每次运行时覆盖现有文件,请尝试设置 AppendToFile = false
  • 是的,它现在可以工作了,谢谢。

标签: logging log4net error-logging rollingfileappender log4net-appender


【解决方案1】:

您可以在每次执行时创建一个新的日志文件:rollingStyle -> 一次,并将 appendtofile 设置为 false:

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
  <param name="File" value="Log.txt"/>
  <param name="AppendToFile" value="false" />
  <rollingStyle value="Size" />
  <maxSizeRollBackups value="10" />
  <maximumFileSize value="1MB" />
  <staticLogFileName value="true" />
   <rollingStyle value="Once" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%identity - [%date] [%level] %class %method  %message %exception %newline" />
  </layout>
</appender>

【讨论】:

  • 这里我想为每个应用程序启动获取一个新文件,但文件名应与 DateTime 一起添加。你能帮我解决这个问题吗?请检查更新的问题。
最近更新 更多