Asp.net

如何使用 Log4Net 啟用 IP 地址記錄

  • October 17, 2011

我正在尋找一種在 ASP.NET 中使用 log4net 啟用 IP 日誌記錄的方法。我找到了一種解決方案,但它適用於應用程序級別。有關如何在會話級別記錄 IP 的任何建議/實踐?

謝謝

Application_BeginRequest, 做

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

然後確保您PatternLayout包含%X{addr}模式字元串中的某個位置。

**更新:**正如 Tadas 所指出的,在較新版本的 log4net 中,等價於

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

再加上%P{addr}模式串。

使用 log4net 1.2.11(2011 年 10 月),您可以將以下內容添加到您的模式佈局中:

%aspnet-request{REMOTE_ADDR}

或者對於目前使用者:

%aspnet-request{AUTH_USER}

有關新的 asp.net 模式轉換器(%aspnet-cache、%aspnet-context 和 %aspnet-request)的更多資訊,請參閱https://issues.apache.org/jira/browse/LOG4NET-87 。

引用自:https://stackoverflow.com/questions/1340643