Как включить регистрацию IP-адресов с помощью Log4Net - PullRequest
15 голосов
/ 27 августа 2009

Я ищу способ включить ведение журнала IP с log4net в ASP.NET. Я нашел одно решение , но оно работает на уровне приложений. Любые предложения / практики, как войти IP на уровне сеанса?

Спасибо

Ответы [ 2 ]

19 голосов
/ 17 октября 2011

С помощью log4net 1.2.11 (октябрь 2011 г.) вы добавляете в макет шаблона следующее:

%aspnet-request{REMOTE_ADDR}

Или для текущего пользователя:

%aspnet-request{AUTH_USER}

См. https://issues.apache.org/jira/browse/LOG4NET-87 для получения дополнительной информации о новых конвертерах шаблонов asp.net (% aspnet-cache,% aspnet-context и% aspnet-request).

19 голосов
/ 27 августа 2009

В Application_BeginRequest, до

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

и убедитесь, что ваш PatternLayout содержит %X{addr} где-то в строке шаблона.

Обновление: Как отметил Тадас, в более новых версиях log4net эквивалент равен

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

в сочетании с %P{addr} в строке шаблона.

...