log4net中有多个文件

时间:2018-01-24 17:17:34

标签: c# .net .net-4.5 log4net

我已经设置了log4Net来为每天创建单独的文件。但它在同一天创建多个文件,请参阅下文。

enter image description here

下面是我的app.config,我在这里做错了吗?

<log4net>
    file appender
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="logs\" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <maxSizeRollBackups value="30" />
      <maximumFileSize value="15MB" />
      <datePattern value="dd.MM.yyyy'.log'" />
      <staticLogFileName value="false" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
      </layout>
    </appender>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="RollingFileAppender" />
    </root>
  </log4net>

3 个答案:

答案 0 :(得分:1)

这对我有用 -

&#13;
&#13;
<log4net>
  <root>
    <appender-ref ref="FileAppender" />
    <appender-ref ref="ErrorAppender" />
  </root>
  <appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    <file value="logs\\logfile" />
    <staticLogFileName value="false" />
    <appendToFile value="true" />
    <rollingStyle value="Composite" />
    <maxSizeRollBackups value="128" />
    <maximumFileSize value="10MB" />
    <datePattern value="_MM-dd-yyyy" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
      <levelMin value="DEBUG" />
      <levelMax value="WARN" />
    </filter>
  </appender>
  <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    <file value="logs\\logfile" />
    <staticLogFileName value="false" />
    <appendToFile value="true" />
    <rollingStyle value="Composite" />
    <maxSizeRollBackups value="128" />
    <maximumFileSize value="10MB" />
    <datePattern value="_MM-dd-yyyy" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger - %message%newline  type: %type%newline  method: %method%newline%newline" />
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
      <levelMin value="ERROR" />
      <levelMax value="FATAL" />
    </filter>
  </appender>
</log4net>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

我认为您应该将“滚动样式”值设置为使用“大小”而不是“日期”

@echo  off
cls
echo press any key to continue back up!
pause
net use \\sfiapp0\cirris
xcopy "\\sfiapp0\Cirris\SmartLight Test Reports*" "H:\Sioux Falls\PC04FPYLogs" /D/E/C/H/Y
echo backup complete
pause

答案 2 :(得分:0)

您的问题是配置为15MB的最大文件大小。见<maximumFileSize value="15MB" />。如果您想要一整天的单个文件,则应将该配置更改为更大的文件大小。

如果您完全删除配置,配置默认为10MB。

如果所有内容都在一个文件中,这可能会导致文件非常大,除非您的流量/负载是统一的。