如何使用 Log4Net 启用 IP 地址日志记录

发布于 2024-08-03 06:52:20 字数 203 浏览 6 评论 0原文

我正在寻找一种在 ASP.NET 中使用 log4net 启用 IP 日志记录的方法。我找到了一个解决方案,但它适用于应用程序级别。关于如何在会话级别记录 IP 有什么建议/实践吗?

谢谢

I'm looking a way to enable IP logging with log4net in ASP.NET. I found one solution but it works at Application level. Any suggestions/practices how to log IP at session level?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

忆依然 2024-08-10 06:52:20

使用 log4net 1.2.11(2011 年 10 月),您可以将以下内容添加到模式布局中:

%aspnet-request{REMOTE_ADDR}

或者对于当前用户:

%aspnet-request{AUTH_USER}

请参阅 https://issues.apache.org/jira/browse/LOG4NET-87 了解有关新 asp.net 模式转换器(%aspnet-cache、%aspnet-context 和 %aspnet)的更多信息-要求)。

With log4net 1.2.11 (Oct 2011) you add the following to your pattern layout:

%aspnet-request{REMOTE_ADDR}

Or for the current user:

%aspnet-request{AUTH_USER}

See https://issues.apache.org/jira/browse/LOG4NET-87 for more info on the new asp.net patterns converters (%aspnet-cache, %aspnet-context, and %aspnet-request).

鲸落 2024-08-10 06:52:20

Application_BeginRequest 中,执行此操作

MDC.Set("addr", Request.UserHostAddress);

,然后确保您的 PatternLayout 在模式字符串中的某处包含 %X{addr}

更新: 正如 Tadas 所指出的,在较新版本的 log4net 中,等效项

ThreadContext.Properties["addr"] = Request.UserHostAddress;

与模式字符串中的 %P{addr} 结合在一起。

In Application_BeginRequest, do

MDC.Set("addr", Request.UserHostAddress);

and then ensure that your PatternLayout contains %X{addr} somewhere in the pattern string.

Update: As Tadas has pointed out, in newer versions of log4net the equivalent is

ThreadContext.Properties["addr"] = Request.UserHostAddress;

coupled with %P{addr} in the pattern string.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文