0

我有一个 MVC3 网络应用程序。我使用 Ninject 2 进行依赖注入,使用带有 log4net 的 Ninject 日志扩展进行日志记录。
我的客户希望能够“跟踪”生产中的用户会话以解决可能出现的问题。我们想要实现它的方式是通过动态更改该用户的日志级别,例如通过存储一个 cookie,以便当 Ninject.logging 提供记录器实例时,它知道提供一个级别设置为调试的日志实例。
我没有找到任何方法来做到这一点,无论是使用 Ninject 日志还是普通的 log4net。
有什么建议么?

4

2 回答 2

1

我认为您可以按照其他问题中的描述以编程方式强制级别。它不完全是提供一个新的 logegr 实例,而是改变当前的,但我想它可以解决你的问题。

于 2012-06-01T13:28:49.837 回答
1

我们最终以这种方式修改了 ninject.extension.logging:
- 在 LoggerFactoryBase 中,我们修改了GetLogger(IContext context)从 HttpContext 检索 cookie 的方法
- 如果设置了此值,我们将使用“Tracing”获取或创建记录器。+ 类型名称
- 在 log4net 配置中,我们有一个名为“Tracing”的记录器设置为调试

于 2012-06-12T16:24:51.663 回答