【问题标题】:How to force log4net to always use the same file如何强制 log4net 始终使用相同的文件
【发布时间】:2011-09-22 01:06:40
【问题描述】:

我有一个每月运行 2 次的进程,我想记录它在做什么,然后在最后通过电子邮件发送日志文件。我昨晚运行它时注意到的是,当它经过午夜时,它一直将所有内容记录到mylog.txt,但将前几天的日志记录到mylog.txt.6-23-2011。我如何告诉它不要这样做并始终使用相同的文件?这是我的配置:

  <log4net>
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
      <layout type="log4net.Layout.SimpleLayout" />
    </appender>
    <appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="c:\logs\mylog.txt" />
      <appendToFile value="false" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date - %message%newline" />
      </layout>
    </appender>
    <root>
      <level value="ALL" />
      <appender-ref ref="ConsoleAppender" />
      <appender-ref ref="FileAppender" />
    </root>
  </log4net>

【问题讨论】:

  • 不要为此使用RollingFileAppender
  • 啊……所以如果我把它改成 FileAppender 那么它会使用同一个文件吗?
  • 是的,根据下面@Kenny 的回答。
  • 不知道为什么这被否决了。我以为我在使用FileAppender,但不小心使用了RollingFileAppender。哇!
  • 是的,它发生了。我认为这个问题很公平。我会恢复宇宙的平衡

标签: logging configuration log4net


【解决方案1】:

查看 FileAppender 和 RollingFileAppender here 之间的区别。听起来您希望将 FileAppender 的 appendToFile 设置为 true。

<appender name="FileAppender" type="log4net.Appender.FileAppender">
    <file value="c:\logs\mylog.txt" />
    <appendToFile value="true" />
    <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date - %message%newline" />
    </layout>
</appender>

【讨论】:

    猜你喜欢
    • 2014-10-12
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-09
    • 1970-01-01
    相关资源
    最近更新 更多