我有一个 ASP.NET 网站,我正在使用 log4net 进行日志记录。由于日志记录要求经常变化,我希望 PM 能够修改记录的信息,并能够记录额外的信息以在生产中进行调试(即无需重新编译)
我的计划是向 log4net 公开某些值,例如上下文中的 GET / POST 参数。要记录这样的参数,用户只需转到 log4net 配置并执行 %message{userId} 之类的操作
我找到了一种使用 log4net.ThreadContext 上的属性包的方法,但我不确定这是否没有副作用,即这些值保留了太长时间。
另一种方法是使用转发附加器,并在记录器被调用时注入额外的值,但我无法实现这一点,没有足够的例子。
有任何想法吗?