加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – NLog – 如何记录所有请求信息

发布时间:2020-12-16 07:44:33 所属栏目:asp.Net 来源:网络整理
导读:例如,Nlog具有一些ASP.NET日志记录功能(请参阅 layout renderers的列表) ${aspnet-request} 对于日志表单项,我需要知道项目的名称. ${aspnet-request:form=myVariable} 但是如何从物品中记录所有物品,这些物品都是未知的? 例如 ${aspnet-request:form} 解决
例如,Nlog具有一些ASP.NET日志记录功能(请参阅 layout renderers的列表)

${aspnet-request}

对于日志表单项,我需要知道项目的名称.

${aspnet-request:form=myVariable}

但是如何从物品中记录所有物品,这些物品都是未知的?
例如

${aspnet-request:form}

解决方法

我自己编写了自己的LayoutRenderer(事实上,最近做了几乎相同的事情) – 关于NLog最好的部分之一是框架的可扩展性.根据您的配置方式,将确定您如何引用/加载自定义布局渲染器,但天空实际上是您可以执行的操作的限制.

在我的头脑中,您可以使用自定义渲染器采用两种方法之一:包装/扩展现有的asp请求渲染器并仅代理所有调用,或者以与nlog相同的方式获取请求对象的挂钩(很棘手;如果内存服务,它会调出来获取COM实例).

我采用的方法是将NameValueCollection嵌入到传出的LogEventInfo对象本身(在属性字典中),然后使用自定义布局渲染器来提取该集合并进行渲染.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读