2012-03-06 136 views
0

我正在尝试为我的web服务使用log4net。我面临的问题是,当我尝试同时发送多条消息时,它仅为第一条消息创建日志。Log4Net消息日志

当我们一次只发送一条消息并等待消息到达侦听器时,日志工作正常。但是,当我们同时拍摄多条信息(无需等待听众的响应)时,它只记录我发送的第一条信息。

这是我的配置。任何人都可以请让我知道我错过了什么:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> 
    </configSections> 

    <log4net> 
     <root> 
      <level value="ALL" /> 
      <appender-ref ref="ArchiveRollingFileAppender" /> 
      <appender-ref ref="LogRollingFileAppender" /> 

     </root> 

     <appender name="LogRollingFileAppender" type="log4net.Appender.RollingFileAppender"> 
      <filter type="log4net.Filter.PropertyFilter"> 
       <key value="Source" /> 
       <stringToMatch value="Log" /> 
      </filter> 
      <threshold value="OFF"/> 
      <!--<lockingModel type="dndn.ebl.framework.logging.FileLock" />--> 
      <filter type="log4net.Filter.DenyAllFilter" /> 
      <file type="log4net.Util.PatternString"> 
       <conversionPattern value="{LogFileName}"/> 
      </file> 
      <appendToFile value="true" /> 
      <rollingStyle value="Size" /> 
      <maxSizeRollBackups value="10" /> 
      <maximumFileSize value="1MB" /> 
      <staticLogFileName value="true" /> 
      <layout type="log4net.Layout.PatternLayout"> 
       <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss} [%thread] %-5level [%property{method}] - %message%newline" /> 
      </layout> 
     </appender> 
     <appender name="ArchiveRollingFileAppender" type="log4net.Appender.RollingFileAppender"> 
      <filter type="log4net.Filter.PropertyFilter"> 
       <key value="Source" /> 
       <stringToMatch value="Archive" /> 
      </filter> 
      <threshold value="OFF"/> 
      <!--<lockingModel type="dndn.ebl.framework.logging.FileLock" />--> 
      <filter type="log4net.Filter.DenyAllFilter" /> 
      <file type="log4net.Util.PatternString"> 
       <conversionPattern value="{ArchiveFileName}"/> 
      </file> 
      <appendToFile value="true" /> 
      <rollingStyle value="Size" /> 
      <maxSizeRollBackups value="10" /> 
      <maximumFileSize value="1MB" /> 
      <staticLogFileName value="true" /> 
      <layout type="log4net.Layout.PatternLayout"> 
       <conversionPattern value="%message%newline" /> 
      </layout> 
     </appender> 
    </log4net> 
</configuration> 

回答

1

你尝试的锁定模式设置为

<lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 
+0

当我在一次送样大约10条信息,它开创了单独的日志文件第5和第6个文件是用第6个消息的ID创建的,但是它存储了所有剩余文件的日志。你能告诉我为什么发生这种情况吗? – 2012-03-07 17:59:07

+0

我对''中的'PatternString'没有经验。我总是使用'' – 2012-03-07 20:42:49