2014-05-19 38 views
4

我想根據消息的某些屬性將日誌消息發送到多個文件(即不同的appender)。log4net配置:我可以在幾個appender中引用相同的佈局嗎?

問題是,每個appender需要指定相當詳細的layout(其中包含compication conversionPattern和一對轉換器)。我最終在每個appender中複製了這個配置。這可以工作,但並不理想,因爲它會使配置比我想要的要長得多,以及在佈局更改時必須更新3個複雜配置位的痛苦。

我希望能夠定義一次佈局,並讓我所有的appender都回到那個定義(就像幾個記錄器可以引用相同的appender一樣)。但是,也許有更好的方法來實現我減少配置重複的目標?

我的google-foo很薄弱,我找不到答案。有人可以幫忙嗎?

TIA。

回答

2

很抱歉,除非您準備好編寫自己的Layout類,否則目前無法跳過複製粘貼的配置。

您可以從LayoutSkeleton繼承上手,而且無論是在代碼創建佈局或使用備用的配置文件(我不認爲log4net的將是一種在其配置文件懸掛佈局配置)

+0

編寫佈局類是一個很好的解決方案,除非OP需要能夠更改配置中的佈局.. – stuartd

+0

@stuartd是的,這就是爲什麼我只討論另一個配置文件的佈局;我認爲一個足夠複雜的系統可能非常值得擁有自己的配置,但是你會失去原生的log4net可觀察機制。好點但要提醒。 – samy

+0

使用戶複製粘貼代碼聽起來不像一個好設計... – user626528

相關問題