2014-04-02 48 views
0

我有一個asp.net web服務應用程序(asmx)。 NLog已在項目中配置。我想在日誌文件中添加調用者的IP地址。我需要從nlog配置文件中訪問REMOTE_ADDR屬性。這是我試過的。如何訪問asp.net web服務中nlog.config中的REMOTE_ADDR屬性?

<target name="file" xsi:type="File" 
      layout="${longdate} ${logger} ${callsite} ${asp-request:item=REMOTE_ADDR} ${message}" 
      fileName="${basedir}/logs/${shortdate}.log" /> 

渲染$ {ASP請求:項目= REMOTE_ADDR}應該做的伎倆。但沒有任何反應。我錯過了什麼?

注意:我已經添加了對項目NLog.Extended.dll的引用。

任何幫助,將不勝感激,請。

回答

2

你可能已經工作了現在,但你正在尋找的代碼是:使用

${aspnet-request:serverVariable=remote_addr} 
+0

感謝您的建議。但是我通過用調用者IP設置nlog上下文變量並在nlog.config文件中使用它來解決了這個問題。我以後會回去看看這個工作是否正常 – Siddharth

+0

你是否得到了這個工作? – coder771

+0

Siddharth - 你是如何得到它的工作?小心分享! – user3127109

0

補充說明:

${ aspnet-request:serverVariable = remote_addr } 

產生以下錯誤:

LayoutRenderer cannot be found: 'aspnet-request'

You have to install NLog.Web to make this work.

+0

不適合我 – coder771