2010-06-04 35 views
0

一個單獨的配置文件設置追加程序名稱我有四個附加目的地,即如下需要幫助通過像的app.config或web.config中

appender name= LogFileAppender // to write general logs in File 

appender name=LogDatabaseAppender// to write general logs in db via Oracle StoredProc 

appender name=ExceptionFileAppender // to write exception logs in File 

appender name=ExceptionDatabaseAppender // to write exception logs in db via Oracle StoredProc 

我想有一個AppConfig的文件,我可以設置哪些附加目的地,以使用。 此外,我的方法如下 Method_WriteLogOnly --->將使用附加器1個或2 Method_WriteExceptionLogs --->將使用附加器3或4

問題是我不知道,如果我使用相同log4net的.config.xml文件的方法,然後如何設置appender。

什麼是最佳做法,要麼以編程方式設置appender,要麼通過其他配置位置(如我有app.config或web.config文件),然後在那裏編寫鍵值對(某種類型的代碼)選擇appender?

+0

這不是一個「指導」的網站。這是一個有關編程語言的具體問題的網站。 – 2012-02-10 10:29:44

回答

0

我認爲你不應該在代碼中決定使用哪個appender:你應該決定什麼是記錄的,但運行你的應用程序的人應該決定它是如何記錄的。

雖然我可以理解你想要一個單獨的文件作爲例外,但我想知道你爲什麼要使用兩個數據庫appender。如果您需要寫入不同的表格,那麼您可以在存儲過程中輕鬆完成此操作。這有幾個優點:配置會更容易,你將只有一個數據庫連接...

假設你可以說「異常==級別錯誤消息」,那麼你可以很容易地創建兩個appender並使用過濾器來確保只有級別爲ERROR的消息最終在「異常」日誌文件中。