Log4Net:Rolling File appender,定义扩展

时间:2009-03-05 14:49:43

标签: log4net config rollingfileappender

我希望我的日志文件看起来像这样: 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>

5 个答案:

答案 0 :(得分:110)

其他答案逃避“log”中的“g”,因为“g”是datePattern中的特殊字符。这没有错,但我更喜欢将整个非日期字符集包装在单引号中,如下所示:

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

这给出了相同的结果,但我更容易管理。这样,我就不必回忆起datePattern特有的特定字符(列表很长且多变)。如果我忘记了一个字符,那么我就不会冒险使用我的文件名;他们都很好地逃脱了。

答案 1 :(得分:54)

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

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

答案 2 :(得分:17)

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

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

答案 3 :(得分:8)

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

答案 4 :(得分:4)

这是我的日志文件xml config。 日志文件的路径位于“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>