2012-03-27 24 views
2

ThreadContextを使用して、余分なパラメータをログ行に追加しようとしています。しかし、いくつかのパラメータが初期化されていない場合はうまく動作します。log4netは出力に "(null)"を出力します:log4net ThreadContextのデフォルト値

DEBUG | 0327-133110600 | CurrentAppDomainHost.ExecuteNodes | logger |(null)|(null)|(null) | 127.0.0.1 |(NULL)|試験

私のパターン:

%の-5p |%のD {MMDD-HHmmssfff} |%のT |%のC {2} |%のX {ACODE} |%X {null}の代わりに空の文字列を使用し、それらを設定しない方法があります({bCode}}%X {cCode}%X {cCode}%X {eCode}%m%n

)明示的に?

答えて

4

はい、あなたはアプリ/ web.configファイルに次のように設定することができます。

<appSettings> 
    <add key="log4net.NullText" 
    value="" /> 
</appSettings> 
+1

ないあなたがスペースの代わりに空の文字列を使用する必要があれば確認してください。私はそれをテストしなかった。これも参照してください:https://issues.apache.org/jira/browse/LOG4NET-55 –

+0

+1非常に便利です。 –

+1

またはコード内... log4net.Util.SystemInfo.NullText = "NULL-TEXT"; log4net.Util.SystemInfo.NotAvailableText = "NOT-AVAILABLE-TEXT"; ...ありがとう! –

関連する問題