2008-09-24 49 views
7

使用log4net時,有什麼方法根據日誌消息的級別進行不同的佈局?說,如果這是一個致命的錯誤,我想看到所有可能的信息 - 類名稱,方法名稱,行號等。但對於正常,調試和警告,我只想看到消息(我希望,這可以提高性能)。log4net/c# - 基於級別的不同佈局

我在C#WinForms中使用log4net。我的要求是當發生致命錯誤時將所有先前的512條消息記錄到文件中,並且我希望僅爲致命錯誤查看類名稱,方法名稱,行號等,對於所有其他級別,只是一條消息。

回答

0

您可以對每個「Level」使用不同的Appender,並使它們相同,但是對於圖案佈局。

1

這篇文章有一個log4net的配置文件的一個很好的解釋:在附加目的地佈局元素

log4net Configuration

留意。他們定義瞭如何輸出錯誤和您選擇的任何信息的模式。

0

我認爲你正在尋找LevelRangeFilter和一個兩個appender的組合。一個用於致命級別(致命是最小和最大)的appender/filter組合(致命是最小和最大)以及一個appender/filter combo用於轉換else(其中ERROR或INFO是最大值,取決於您是否想要包含調試目的的錯誤)

示例here:What do you have in your log4net config? Hacks, optimizations, observations?