2009-12-04 61 views
5

我一直在努力與log4net和插入額外的領域,但我有添加int字段的問題。任何人都可以顯示使用int的配置,因爲我無法在其homepage上找到它。log4net和整數

我通常只是用類似的配置:

<parameter> 
     <parameterName value="@orderid" /> 
     <dbType value="string" /> 
     <size value="64" /> 
     <layout type="log4net.Layout.PatternLayout" /> 
    </parameter> 

但它會在日誌數據庫中進行搜索,如果這個領域可能是int,而不是更優化。

回答

4

dbType property類型爲System.Data.DbType。在那裏,您可以使用Int32值來表示整數。

+0

什麼字符?謝謝!它沒有在那裏列出。謝謝! – Euridice01 2017-10-05 18:36:40

+0

@ Euridice01這將是非Unicode字符串,使用'AnsiString'或'AnsiStringFixedLength'。 – 2017-10-07 18:44:08

16

只是將其更改爲Int32並沒有解決我的問題。對於其他人希望解決這個問題,這裏的解決方案:

 <parameter> 
      <parameterName value="@UserID" /> 
      <dbType value="Int32" /> 
      <size value="32" /> 
      <layout type="log4net.Layout.RawPropertyLayout"> 
       <key value="UserID" /> 
      </layout> 
     </parameter> 

這也將處理空值

+0

謝謝!對於未來的讀者來說,這也會吸收在log4net.GlobalContext中設置的值。在上面的例子中(這個答案),如果你設置GlobalContext的「UserID」(其中UserID是關鍵字),並且你設置了這個值,那麼這個代碼將會取得這個值。是的!!空值處理。謝謝! – granadaCoder 2018-02-09 20:23:31