70

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

5 回答 5

120

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

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

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

于 2009-03-16T17:12:11.527 回答
60

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

<datePattern value="yyyy-MM-dd.lo\g"/>
...
<staticLogFileName value="false" />
于 2009-03-05T14:58:51.130 回答
21

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

<file value="LogFiles/.log"/>
<preserveLogFileNameExtension value="true" />
<datePattern value="yyyy-MM-dd" />
于 2014-04-15T08:37:57.120 回答
8

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

于 2009-03-05T14:59:07.823 回答
4

这是我的日志文件 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>
于 2012-11-22T13:35:37.203 回答