【问题标题】:Log4Net: Rolling File appender, define extensionLog4Net:滚动文件附加器,定义扩展
【发布时间】:2010-10-11 12:49:37
【问题描述】:

我希望我的日志文件看起来像这样: 2009-02-13.log

但问题是我似乎找不到任何添加 .log 扩展名的方法。

我尝试了很多东西,但没有任何帮助。 这就是我目前所拥有的:

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="Logs/Log4Net/.log"/>
    <appendToFile value="true"/>
    <rollingStyle value="Date"/>
    <datePattern value="yyyy-MM-dd" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
    </layout>
</appender>

【问题讨论】:

    标签: log4net config rollingfileappender


    【解决方案1】:

    其他答案转义了“log”中的“g”,因为“g”是 datePattern 中的特殊字符。这没有错,但我更喜欢将整个非日期字符集用单引号括起来,如下所示:

    <datePattern value="yyyy-MM-dd'.log'" />
    

    这给出了相同的结果,但对我来说更容易管理。这样,我不必回忆哪些特定字符对于 datePattern 是特殊的(列表很长且多种多样)。如果我忘记了一个字符,那么我就不会冒冒名的风险;他们都很好地逃脱了。

    【讨论】:

    • 那么你对 有什么价值呢?
    • @ssmith:从&lt;file /&gt; 中去掉.log。 Log4Net 将日期模式附加到文件值上,因此您需要前者的文件扩展名。
    • 因为我想监控当天的可预测日志文件名,所以我使用文件值 = logs/server.log ...然后对于 datePattern 值,我在 yyyy 之前添加一个句点。当前日志是 server.log 然后昨天的日志是 server.log.2014-08-13.log ...这并不理想,但因为我还没有想出另一种方法。
    【解决方案2】:

    尝试像这样将 .log 扩展名添加到您的日期模式中,然后将其从文件属性中删除。

    <datePattern value="yyyy-MM-dd.lo\g"/>
    ...
    <staticLogFileName value="false" />
    

    【讨论】:

    • 另外记得加上
    【解决方案3】:

    log4net 现在还提供了一个PreserveLogFileNameExtension 属性,可以强制将您的 .log 扩展名放在复合文件名的末尾(包括日期模式和/或大小序列号):

    <file value="LogFiles/.log"/>
    <preserveLogFileNameExtension value="true" />
    <datePattern value="yyyy-MM-dd" />
    

    【讨论】:

    • 必须只在较新的版本上?我无法让该参数在我的系统上工作。我最终不得不使用 .log 两次,一次在文件值中,另一次在 datePattern 中:(
    • 相信是1.2.12添加的
    【解决方案4】:

    将“.lo\g”添加到日期模式的末尾

    【讨论】:

      【解决方案5】:

      这是我的日志文件 xml 配置。 日志文件的路径在“file”标签中

      这将在我网站的路由文件夹中的“LogFiles”文件夹下创建一个日志文件“2012-11-22.log”。

      注意:首先确保文件夹存在!

      <?xml version="1.0"?>
      <configuration>
        <configSections>
          <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,     log4net"/>
        </configSections>
        <log4net>
          <root>
            <level value="INFO"/>
            <appender-ref ref="RollingFileAppender"/>
          </root>
          <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
            <file value="LogFiles/"/>
            <appendToFile value="true"/>
            <rollingStyle value="Date"/>
            <maxSizeRollBackups value="5"/>
            <maximumFileSize value="10MB"/>
            <datePattern value="yyyy-MM-dd'.log'" />
            <staticLogFileName value="false"/>
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%date [%thread] %level %logger - %message%newline%exception"/>
            </layout>
          </appender>
        </log4net>
      </configuration>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多