我在我的 AsP.NET 站点上运行 log4net。我可以将消息记录到我的数据库表中,但它没有记录 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 属性正在设置,但它们没有进入数据库。
我怎样才能让它工作?