【问题标题】:date in the log file name日志文件名中的日期
【发布时间】:2015-04-23 18:35:34
【问题描述】:

我希望我的日志文件以这样的方式结束:

2015-04-23.log (YYMMDD.log)

<root>
  <level value="DEBUG" />
  <appender-ref ref="RollingFileAppender" />
</root>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <file type="log4net.Util.PatternString" value="logs\CTI\ServiceName" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <maxSizeRollBackups value="10" />
      <maximumFileSize value="20MB" />
      <staticLogFileName value="false" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %level %logger - %message%newline%exception" />
      </layout>
    </appender>

运行代码后,日志文件显示为 ServiceName_2015-04-23.log.2015-04-23。

有什么问题?

【问题讨论】:

    标签: log4net config log4net-configuration logfile


    【解决方案1】:

    appender 应该是这样的:

    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
        <file value="logs\CTI\ServiceName\" />
        <datePattern value="yyyy-MM-dd'.log'" />
        <appendToFile value="true" />
        <rollingStyle value="Composite" />
        <maxSizeRollBackups value="10" />
        <maximumFileSize value="20MB" />
        <staticLogFileName value="false" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %level %logger - %message%newline%exception" />
        </layout>
    </appender>
    

    关键是我们在模式中添加“.log”的 datePattern。

    两年后...迟到总比没有好。

    【讨论】:

      【解决方案2】:

      您使用 rollingStyle=date,因此 log4net 在文件名末尾添加日期。 你可以找到useful config examples for RollingFileAppender class here

      【讨论】:

      • 所以我不应该使用那个参数?
      • 你应该使用这个参数。但它是 RollingFileAppender 类的实现细节,它将日期添加为扩展名。您应该考虑从文件名中删除 %utcdate,然后日志文件将为 ServiceName.log.2015-04-23。
      • 您无法通过开箱即用的 log4net 实现这一点。您可以尝试创建从 RollingFileAppender 派生的类,但根据我的经验 ServiceName.log.2015-04-23 是合适的。这是 RollingFileAppender 如何威胁滚动文件的实现细节:部分文件名是固定的(ServiceName.log),其他部分用于滚动和自动添加(使用日期滚动时为 2015-04-23,使用按文件滚动时为简单整数大小)。
      • @hal,这不是真的。您可以开箱即用,这是 log4net 的标准用例。
      猜你喜欢
      • 2012-04-30
      • 2019-04-11
      • 2012-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多