我有一个MVC3 Web应用程序。我正在使用Ninject 2进行依赖注入,并将Ninject日志扩展与log4net进行日志记录。
我的客户希望能够“跟踪”生产中的用户会话以排除可能出现的问题。我们想要实现它的方式是通过动态更改该用户的日志级别,例如通过存储cookie,因此当Ninject.logging提供记录器实例时,它知道提供级别设置为Debug的日志实例。
我没有找到任何方式来做到这一点,无论是通过使用Ninject日志记录或纯粹的log4net。
有什么建议吗?根据请求信息动态更改log4net级别
0
A
回答
1
我们结束了修改ninject.extension.logging这样:
- 在LoggerFactoryBase我们修改了GetLogger(IContext context)
方法来检索的HttpContext
一个cookie - 如果这个值被设置,我们得到或创建记录器与“追踪”。 +类型名称
- 在log4net配置中,我们有一个名为“Tracing”的记录器设置为调试
1
我认为你可以像编程in this other question那样以编程方式强制关卡。它不是完全提供一个新的logegr实例,而是改变当前的实例,但我想它可以解决您的问题。
相关问题
- 1. 配置log4net根据级别
- 2. 更改Google项目的请求级别
- 3. 根据缩放级别更改图标
- 4. 根据当前信息更改url
- 5. 根据请求更改div类[]
- 6. FormView CBV根据请求更改ModelForm
- 7. 使用Facebook-php-sdk请求应用程序级别的信息
- 8. 动态更改日志记录级别
- 9. WP7 - 根据用户输入的信息向服务器发送动态信息请求
- 10. 动态更改scrapy请求调度程序优先级
- 11. 如何更改AX信息消息的级别
- 12. Angular:动态更改JSON请求
- 13. 根据多个站点的请求动态更改Django设置变量
- 14. log4j信息级别不记录信息
- 15. Tcl:[信息级别]与[信息帧]
- 16. 修改请求路径信息
- 17. Sitecore - 根据请求获取有关媒体项目的信息
- 18. Log4Net级别数值
- 19. 配置log4net根据日志级别写入不同的文件
- 20. 根据请求
- 21. 根据动态字段更改网址
- 22. 一个班级如何从另一个班级请求信息?
- 23. 根据点击按钮动态添加模态信息
- 24. 更改不同请求上的nginx根
- 25. 根据请求使用@ExceptionHandler动态返回HTTP状态代码
- 26. python动态更改超级
- 27. 在log4net xml中更改日志记录级别
- 28. Apache log4net更改日志记录级别文本
- 29. 根据我的API请求403状态
- 30. Cassandra用于更改信息需求
这是答案的一部分,我需要更改日志级别。问题是,如果我这样做,它会改变系统中的所有后续请求。我想要的只是一种改变级别的方法,只能用于会话中带有Cookie或参数或其他内容的请求。 –
使用LogManager.GetLogger()创建一个新日志,并将其添加到原始日志的相同appender中。 –