2016-07-08 64 views
0

我在NLog 4.3.5上。NLog佈局變量評估爲空

我有一個長而複雜的佈局字符串,我想保存在<variable />中以用於四個layout屬性。不幸的是,如果我指的是使用

layout="${layout_full}" 

變量然後NLOG抱怨說,它無法找到該佈局格式(即使它不是一個佈局格式,它是一個變量);如果我指的是使用的變量

layout="${var:layout_full}" 

然後佈局計算爲空字符串。

換句話說,這樣的:

<variable name="layout-full" value=" 
${longdate} [${level}] ${logger} ${all-event-properties}${newline} 
${message} 
${when:when='${exception}'!='':inner= 
${newline}${exception} 
${newline}${stacktrace}} 
" /> 
    <target name="stdout" xsi:type="Console" error="false" layout="a${var:layout-full}b" /> 

顯示所有日誌條目爲 「AB」。

我也嘗試將所有四個目標放入SplitGroup並對該組應用佈局,但顯然不支持該佈局。

回答

1

不知道這是這裏的情況,但<variable>應該是<target><targets>

+0

沒錯之外。我不知道(a)你是如何知道這一點的,(b)爲什麼NLog默默地失敗,而不是工作或發出錯誤。 – Reinderien

+0

內部日誌AFAIK中應該有一個xsd警告。這是一個常見的錯誤;) – Julian