我是新来的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; } }@H_403_15@