2011-05-31 40 views
0

我們有一箇舊式日誌記錄數據庫,它記錄兩種類型的事件。按配置轉換log4net級別

  1. 錯誤
  2. 事件

我們改裝的log4net的應用程序,我們使用的AdoNetAppender登錄到這個遺留數據庫。用於記錄事件的存儲過程需要一個參數的存儲過程調用@TypeID 目前我們已經配置了這樣的參數:

<parameter> 
    <parameterName value="@TypeID" /> 
    <dbType value="Int32" /> 
    <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="2" /> 
    </layout> 
    </parameter> 

這將記錄所有出現的事件(2型),而不管事件級別(錯誤或其他)。 如何更改配置,以便所有出現的log4net錯誤或更高版本都將@TypeID參數設置爲1?

問另一種方式:

是否可以使用條件邏輯conversionPattern的價值?

回答

2

你可以寫一個PatternLayoutConverter這樣做。我發佈了一個sample,可以很容易地修改,以根據您的要求轉換日誌級別。

+0

謝謝斯蒂芬。我曾希望只有配置解決方案,但如果它不存在,這將有所幫助。 – 2011-06-01 04:11:18