Записать URL текущей страницы с NLog - PullRequest
16 голосов
/ 02 сентября 2011

Я пытаюсь зарегистрировать URL текущей страницы как часть нашего макета NLog. Я просмотрел переменные макета NLog и ничего не нашел.

Кто-нибудь знает, как получить URL текущей страницы в качестве переменной для макета? Также возможно ли просто извлечь имя домена, чтобы его можно было использовать в атрибуте источника EventLog?

Ответы [ 2 ]

16 голосов
/ 02 сентября 2011

Используйте средство отображения макета Aspnet-запроса .

<target xsi:type="Trace" 
            name="trace" 
          layout="${message} ${aspnet-request:serverVariable=Url}" />

У вас есть полный доступ к свойствам запроса .

8 голосов
/ 23 октября 2013

Я проверил много подходов, и, кажется, только "элемент" работает в отношении http://msdn.microsoft.com/en-us/library/ms524602.aspx

method = $ {aspnet-request: item = HTTP_METHOD}

url со строкой запроса = $ {aspnet-запрос: item = HTTP_URL}

пользовательский агент / браузер = $ {aspnet-запрос: item = HTTP_USER_AGENT}

и так далее ...

UPDATE

В дополнение к моему ответу выше (я не помню, знал ли я его тогда или нет), но я нашел где-то (также не помню, где, был некоторое время назад), что NLog.Extended .dll также должны ссылаться для использования функциональности, относящейся к ведению журнала ASP.NET, т.е. макеты с ${aspnet-...

...