Ответ 1
Используйте средство рендеринга макета Aspnet.
<target xsi:type="Trace"
name="trace"
layout="${message} ${aspnet-request:serverVariable=Url}" />
У вас есть полный доступ к свойствам запроса.
Я пытаюсь зарегистрировать URL текущих страниц как часть нашего макета NLog. Я просмотрел переменные макета NLog и ничего не придумал.
Кто-нибудь знает, как получить текущий URL страницы в качестве переменной для макета? Также возможно просто извлечь доменное имя, чтобы оно могло использоваться в атрибуте источника EventLog?
Используйте средство рендеринга макета Aspnet.
<target xsi:type="Trace"
name="trace"
layout="${message} ${aspnet-request:serverVariable=Url}" />
У вас есть полный доступ к свойствам запроса.
Я тестировал много подошедших и только "элемент", похоже, работает в отношении http://msdn.microsoft.com/en-us/library/ms524602.aspx
method = ${aspnet-request: item= HTTP_METHOD}
url с строкой запроса= ${aspnet-request: элемент= HTTP_URL}
user agent/browser = ${aspnet-request: элемент= HTTP_USER_AGENT}
и т.д.
UPDATE
В дополнение к моему ответу выше (я не помню, знал ли я это тогда или нет), но я нашел где-то (также не помню, где, было недавно), что NLog.Extended.dll также должны ссылаться на использование функциональных возможностей, относящихся к ведению журнала ASP.NET, т.е. макеты с ${aspnet-...