asp.Net   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在ASP.NET中使用log4net在日志文件中包含SessionID?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我是新来的log4net,所以希望这是一个非常容易的问题给某人?

我已经有log4net与我的Web应用程序的RollingLogFileAppender一起使用。我正在使用日志记录来尝试找到某些性能问题来自哪里。为了做到这一点,将ASP.NET SessionID包含在日志输出中是非常有用的,以便我可以确保查看特定用户的日志条目。

有没有办法,我可以通过转换模式为appender设置?是否有可以使用的%属性{??}设置?

更新:这个问题还没有得到回答 – 有人有什么想法吗?

解决方法

亚历山大K.几乎是正确的。唯一的问题是PostAcquirerequestState事件也会发生静态请求。在这种情况下调用Session将导致httpException。

因此,正确的解决方案成为:

protected void Application_PostAcquirerequestState(object sender,EventArgs E)
{
    if (Context.Handler is IrequiresSessionStatE)
    {
        log4net.ThReadContext.Properties["SessionId"] = Session.SessionID;
    }
}

大佬总结

以上是大佬教程为你收集整理的如何在ASP.NET中使用log4net在日志文件中包含SessionID?全部内容,希望文章能够帮你解决如何在ASP.NET中使用log4net在日志文件中包含SessionID?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。