2011-07-17 67 views
18

在NLog中可以創建具有不同配置的多個記錄器嗎?具有不同配置的NLog記錄器

我有一個組件,每次實例化都必須將所有事件記錄到與新實例相關的其他文件。

這可能與NLog?如果沒有,有日誌框架這樣做?

回答

21

是的,你可以做到這一點。您可以將該類型的記錄器配置爲登錄到特定目標。或者,您可以將該類型的記錄器配置爲登錄到目標(例如文件),並根據記錄器名稱自動命名該文件。

查看NLog config file documentation here的一些例子。

此外,請參閱我的post here瞭解一些配置文件提示。

下面是如何配置兩個記錄器的簡單示例:一個用於記錄到爲該類型命名的輸出文件的特定類型,另一個用於所有其他記錄器根據日期登錄到文件的輸出文件。

<nlog> 
    <targets> 
    <target name="f1" xsi:type="File" fileName="${logger}.txt" /> 
    <target name="f2" xsi:type="File" fileName="${shortdate}.txt" /> 
    </targets> 
    <rules> 
    <logger name="Name.Space.Class1" minlevel="Trace" writeTo="f1" /> 
    <logger name="*" levels="Debug" writeTo="f2" /> 
    </rules> 
</nlog> 

如果你想在日誌類型Name.Space.Class1去「特殊」的文件(即其名稱由記錄器確定的一個),那麼你可以添加「最終」的記錄儀specfication這樣的:

<logger name="Name.Space.Class1" minlevel="Trace"final="true" /> 
+2

新的配置文件鏈接 https://github.com/nlog/NLog/wiki/Configuration-file –