asp.net – log4net没有记录ThreadContext
发布时间:2020-12-16 07:13:47 所属栏目:asp.Net 来源:网络整理
导读:我在我的AsP.NET站点上运行了log4net.我能够将消息记录到我的数据库表,但它没有记录ThreadContext属性.例如: ThreadContext.Properties["Url"] = HttpContext.Current.Request.Url.ToString();ThreadContext.Properties["HttpReferer"] = HttpContext.Curre
我在我的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属性,但它们没有进入数据库. 我怎么能让它工作? 解决方法
所以,事实证明配置是罪魁祸首.这有点不对劲:
原版的: <conversionPattern value="%property{log4net:HttpReferer}"/> 更改: <conversionPattern value="%property{HttpReferer}"/> 我不得不取出房产内的“log4net:”. 奇怪的是,一个属性仍然需要log4net:propertyName.我完全不知道它为什么会这样工作,但那是有效的解决方案! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 按钮点击方法在页面加载后运行,这意味着页面不会
- asp.net-mvc-3 – 检查.NET MVC中的AngularJS $资源请求服务
- asp.net – 如何在我的自定义MvcRouteHandler中模拟IgnoreR
- asp.net – 多语言网站随机改变语言
- asp.net – 如何防止Entity Framework将FileStream列加载到
- 使用数字填充asp.net下拉列表
- asp.net-mvc – “GenerateResource”任务失败,意外地为空的
- asp.net-core – ASP .NET vNext MVC没有传递给下一个管道?
- asp.net-mvc-3 – ASP.NET MVC 3.0 – 为什么在视图中强类型
- asp.net-core – CSS,图片,JS没有加载asp.net核心:(