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

解决方案

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

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

其他提示

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

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

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

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

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

添加“.lo \ g”到你的日期模式结束

这是我的日志文件xml config。 日志文件的路径位于“文件”中。标签

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

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

<?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>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top