Asp.net

使用 NLog 記錄目前頁面 url

  • November 6, 2020

我正在嘗試將目前頁面 URL 記錄為 NLog 佈局的一部分。我已經搜尋了 NLog 佈局變數,但一無所獲。

有誰知道如何獲取目前頁面 URL 作為佈局的變數?也可以只提取域名以便在 EventLog 源屬性中使用它嗎?

使用Aspnet-request 佈局渲染器

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

您擁有對請求屬性的完全訪問權限。

我測試了很多方法,只有“項目”似乎對http://msdn.microsoft.com/en-us/library/ms524602.aspx有效

方法 = ${aspnet-request:項目=HTTP_METHOD}

帶有查詢字元串的url = ${aspnet-request: item =HTTP_URL}

使用者代理/瀏覽器 = ${aspnet-request: item =HTTP_USER_AGENT}

等等…

更新

除了我上面的回答(我不記得我當時是否知道),但我發現某處(也不記得在哪裡,不久前)NLog.Extended.dll也必須被引用才能使用功能與 ASP.NET 日誌記錄相關,即。佈局與${aspnet-...

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