AsP.NET サイトで log4net を実行しています。メッセージを DB テーブルに記録できますが、ThreadContext プロパティが記録されません。例えば:
ThreadContext.Properties["Url"] = HttpContext.Current.Request.Url.ToString();
ThreadContext.Properties["HttpReferer"] = HttpContext.Current.Request.ServerVariables["HTTP_REFERER"];
私の log4net.config は、これらの値をパラメーターとして SQL DB テーブルに追加します。
<parameter>
<parameterName value="@URL"/>
<dbType value="String"/>
<size value="512"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%property{log4net:Url}"/>
</layout>
</parameter>
<parameter>
<parameterName value="@HttpReferer"/>
<dbType value="String"/>
<size value="512"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%property{log4net:HttpReferer}"/>
</layout>
</parameter>
デバッグすると、これらの ThreadContext プロパティが設定されていることがわかりますが、DB には入っていません。
どうすればそれを機能させることができますか?