我正在使用log4net來記錄一個項目。爲每個appender創建一個不同的log4net.ilog實例
我想登錄到3個不同的文件:請求,響應和錯誤。
<log4net debug="true">
<!--To turn off an appender, simply set it's threshold value to "OFF"-->
<appender type="log4net.Appender.RollingFileAppender" name="RequestAppender">
<file value="requests.txt" />
<threshold value="INFO" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" />
</layout>
</appender>
<appender type="log4net.Appender.RollingFileAppender" name="ResponseAppender">
<file value="responses.txt" />
<threshold value="INFO" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" />
</layout>
</appender>
<appender type="log4net.Appender.RollingFileAppender" name="ErrorAppender">
<file value="errors.txt" />
<threshold value="ERROR" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" />
</layout>
</appender>
</log4net>
但是,我不知道如何獲得.NET端每個記錄器的實例。 隨着standrard,1個Appender的配置,我用以下:
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
但這並不指定appenderName就是,我沒有找到一個方法來指定。
任何想法?
謝謝!
編輯: 我想我錯過了一些東西,因爲我沒有定義在我的配置文件中。我不明白記錄員和appender之間的分離。編輯#2: 我注意到一些奇怪的東西。在多個3記錄器配置之前,我有一個記錄器配置。現在,我寫入3個記錄器的文字寫入該日誌文件,儘管它不再位於配置文件中。出於某種原因,它不會加載新的配置文件。我如何強迫它這樣做?
我認爲這是你正在尋找http://stackoverflow.com/questions/1372435/configure-log4net-to-write-to-multiple-files – Microtechie
我也這麼認爲,語法似乎確定,但它不工作。它編譯並運行得很好。但是,所有記錄器的所有isLevelEnabled成員都設置爲TRUE,即使這不是它們的設置方式,我寫入的測試日誌也沒有記錄。 – Niv
試試這個 - [link](http://stackoverflow.com/questions/308436/log4net-programmatically-specify-multiple-loggers-with-multiple-file-appenders) – Nilesh