【问题标题】:windsor castle - log4net - RollingFileAppender - Issue - Information is written twice in the file温莎城堡 - log4net - RollingFileAppender - 问题 - 信息在文件中写入两次
【发布时间】:2016-02-09 09:55:35
【问题描述】:

问题:记录的所有信息都在文件中写入了两次。 请找到我使用的以下配置: 只有在引入多个记录器时,我才能观察到这个问题。

  <root>
      <level value="DEBUG" />
      <appender-ref ref="LogFileAppender" />
      <appender-ref ref="MemoryAppender"/>
      <appender-ref ref="EventsFileAppender" />
  </root>
  <logger name="FileLogger">
      <level value="DEBUG" />
      <appender-ref ref="LogFileAppender" />
      <appender-ref ref="MemoryAppender"/>
  </logger>
  <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
      <param name="File" value="C:\log-file.txt" />
      <param name="AppendToFile" value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="10" />
      <maximumFileSize value="5MB" />
      <staticLogFileName value="true" />
      <filter type="log4net.Filter.LoggerMatchFilter">
          <LoggerToMatch value="FileLogger" />
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />
      <layout type="log4net.Layout.PatternLayout">
          <param name="ConversionPattern" value="%date [%thread] %-5level - %message%newline" />
      </layout>
  </appender>
<appender name="MemoryAppender" type="log4net.Appender.MemoryAppender">
    <filter type="log4net.Filter.LoggerMatchFilter">
        <LoggerToMatch value="FileLogger" />
    </filter>
    <filter type="log4net.Filter.DenyAllFilter" />
</appender>

<logger name="EventsLogger">
    <level value="DEBUG" />
    <appender-ref ref="EventsFileAppender" />
</logger>      
<appender name="EventsFileAppender" type="log4net.Appender.RollingFileAppender" >
    <param name="File" value="C:\ObjectServerEvents\ObjectServerEvents-file.txt" />
    <param name="AppendToFile" value="true" />
    <rollingStyle value="Size" />
    <maxSizeRollBackups value="10" />
    <maximumFileSize value="100MB" />
    <staticLogFileName value="true" />
    <filter type="log4net.Filter.LoggerMatchFilter">
        <LoggerToMatch value="EventsLogger" />
    </filter>
    <filter type="log4net.Filter.DenyAllFilter" />
    <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%date [%thread] %-5level - %message%newline" />
    </layout>
</appender>

你能找出其中的错误吗?如何解决?

【问题讨论】:

    标签: log4net castle-windsor castle rollingfileappender


    【解决方案1】:

    您将添加附加程序两次:一次添加到根元素,一次添加到每个记录器。

    从根元素或记录器中删除 的 appender 声明,每个事件将只记录一次。

    <root>
        <level value="DEBUG" />
        <appender-ref ref="LogFileAppender" />
        <appender-ref ref="MemoryAppender"/>
        <appender-ref ref="EventsFileAppender" />
    </root>
    <logger name="FileLogger">
        <level value="DEBUG" />     
    </logger> <!-- etc -->
    

    【讨论】:

      猜你喜欢
      • 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
      相关资源
      最近更新 更多