2011-07-17 114 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 –