我是 log4net 的新手,所以希望这对某人来说是一个非常简单的问题?!
我已经让 log4net 与我的 Web 应用程序的 RollingLogFileAppender 一起工作。我正在使用日志记录来尝试找出一些性能问题的来源。为了做到这一点,在日志输出中包含 ASP.NET SessionID 会很有用,这样我就可以确保我正在查看特定用户的日志条目。
有什么办法可以通过 conversionPattern
做到这一点吗?附加程序的设置?有没有%property{??}
我可以使用的设置?
更新:这个问题仍然没有得到回答 - 有没有人有任何想法?
请您参考如下方法:
Alexander K. 几乎是正确的。唯一的问题是 PostAcquireRequestState
静态请求也会发生事件。在这种情况下调用 Session 将导致 HttpException
.
因此,正确的解决方案变为:
protected void Application_PostAcquireRequestState(object sender, EventArgs e)
{
if (Context.Handler is IRequiresSessionState)
{
log4net.ThreadContext.Properties["SessionId"] = Session.SessionID;
}
}