2013-12-11 54 views
3

我的配置文件是:如何檢查log4net日誌路徑?

<log4net xsi:noNamespaceSchemaLocation="http://csharptest.net/downloads/schema/log4net.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
     <appender name="InfoFileAppender" type="log4net.Appender.RollingFileAppender"> 
      <file value="D:/" /> 
      <appendToFile value="true" /> 
      <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" /> 
      <rollingStyle value="Date" /> 
      <maxSizeRollBackups value="100" /> 
      <datePattern value="YYYY-MM-DD'.log'"/> 
      <maximumFileSize value="1024KB" /> 
      <staticLogFileName value="false" /> 
      <encoding value="utf-8"/>   
      <filter type="log4net.Filter.LevelRangeFilter"> 
       <param name="LevelMin" value="INFO" /> 
       <param name="LevelMax" value="INFO" /> 
      </filter> 
      <layout type="log4net.Layout.PatternLayout"> 
       <conversionPattern value="%date %-5level %logger - %message%newline" /> 
      </layout> 
     </appender> 
     <appender name="ErrorFileAppender" type="log4net.Appender.RollingFileAppender"> 
      <file value="D:/" /> 
      <appendToFile value="true" /> 
      <rollingStyle value="Size" /> 
      <maxSizeRollBackups value="100" /> 
      <maximumFileSize value="10240KB" /> 
      <datePattern value="YYYY-MM-DD'.log'"/> 
      <staticLogFileName value="true" /> 
      <encoding value="utf-8"/> 
      <filter type="log4net.Filter.LevelRangeFilter"> 
       <param name="LevelMin" value="WARN" /> 
       <param name="LevelMax" value="FATAL" /> 
      </filter> 
      <layout type="log4net.Layout.PatternLayout"> 
       <conversionPattern value="%date %-5level %logger - %message%newline" /> 
      </layout> 
     </appender> 
     <root> 
      <level value="INFO" /> 
      <appender-ref ref="InfoFileAppender" /> 
      <appender-ref ref="ErrorFileAppender" /> 
     </root> 
    </log4net> 
中的app.config

但它在磁盤D中沒有日誌文件:!!!!

+1

附註 - 你必須配置爲寫入完全相同的文件中的兩個附加目的地。這是故意嗎? –

+0

您是否嘗試過使用D:/myLog.log這樣的文件名,而不僅僅是D:/? – Tobiasz

+0

@lazyberezovsky是的,我打算在同一個文件中的兩種類型的信息 – Dolphin

回答

8

剛剛驗證你的配置 - 工作正常。您可能沒有正確初始化log4net。你應該加入到的AssemblyInfo.cs文件:

[assembly: XmlConfigurator(Watch = true)] 

或者你可以使用XmlConfigurator.ConfigureAndWatch方法或者乾脆

XmlConfigurator.Configure(); 

不像NLOG,log4net的不能初始化。

備註:你應該改變你的日期模式爲yyyy-MM-dd'.log' - 年和日應該是小寫字母。你也可以用單個appender編寫幾個關卡。沒有必要創建兩個寫入相同文件的appender。

+0

謝謝,我正在嘗試 – Dolphin

1

嘗試如下

<file value="D:/ABC.txt" /> 

的AssemblyInfo.cs

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "~\\Abc\\xyz\\log4net.config", Watch = true)]