我使用n日誌2.0和this interesting read後,我試圖這樣申請條件,一個簡單的佈局:n日誌有條件的佈局
layout="${message:when=logger==A}"
layout="${message:when=logger=='A'}"
layout="${message:when='logger==A'}"
不僅這些都沒有任何影響,他們也沒有拋出錯誤看起來是這樣的條件,默默吞嚥某處(throwExceptions
設置爲true)
- 如何有條件的佈局工作?他們甚至工作
- 如果出現錯誤/無法識別,nLog是否可以拋出異常?
這是完整的代碼,這是一個基本的控制檯應用程序。
main.cs:
class Program
{
static void Main(string[] args)
{
NLog.LogManager.GetLogger("A").Info("from A");
NLog.LogManager.GetLogger("B").Info("from B");
}
}
NLog.config(可執行目錄):
<?xml version="1.0" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
throwExceptions="true">
<targets>
<target name="main" xsi:type="File" fileName="my.log"
deleteOldFileOnStartup="true" keepFileOpen="true"
layout="${callsite} ${message:when=logger=='A'}"/>
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="main" />
</rules>
</nlog>
輸出:
ConsoleApplication1.Program.Main from A -> this should only log ${callsite}
ConsoleApplication1.Program.Main from B
你能告訴我完整的nlog配置嗎? – kolbasov
@justips更新! – stijn