Nlog配置文件优先级
Nlog config file priority
因此,我在更多可执行文件之间共享了库。如果我理解正确,我不能像 library.dll.nlog 那样直接将配置附加到库,但我必须使用每个 exe 的配置或使用 nlog.config 进行全局设置。 (可以从多个地方登录到一个日志。)
这里我们带来了一些不使用此 dll 的可执行文件,并且需要登录到不同的日志文件,因此,我可以像 app.exe.nlog 一样使用每个 exe 的配置。它运行完美,直到放置在包含 nlog.config 个文件的目录中。
基于 https://github.com/nlog/NLog/wiki/Configuration-file 我希望设置将按优先级加载(因此首先专用于 exe,然后是全局),当找到配置时,将使用它。
所以,我做错了什么或者配置处理顺序有问题吗?
不幸的是,这是 NLog 4 中的一个错误,正在等待更改:https://github.com/NLog/NLog/pull/959,因为这是一个重大更改,它必须等待 NLog 5。
如果你想知道NLog检查文件的顺序,你可以调用:
var paths = LogManager.LogFactory.GetCandidateConfigFilePaths().ToList();
您还可以使用 SetCandidateConfigFilePaths
覆盖当前使用的路径:
LogManager.LogFactory.SetCandidateConfigFilePaths(new[] { "c://temp/my-nlog.config" });
因此,我在更多可执行文件之间共享了库。如果我理解正确,我不能像 library.dll.nlog 那样直接将配置附加到库,但我必须使用每个 exe 的配置或使用 nlog.config 进行全局设置。 (可以从多个地方登录到一个日志。)
这里我们带来了一些不使用此 dll 的可执行文件,并且需要登录到不同的日志文件,因此,我可以像 app.exe.nlog 一样使用每个 exe 的配置。它运行完美,直到放置在包含 nlog.config 个文件的目录中。
基于 https://github.com/nlog/NLog/wiki/Configuration-file 我希望设置将按优先级加载(因此首先专用于 exe,然后是全局),当找到配置时,将使用它。
所以,我做错了什么或者配置处理顺序有问题吗?
不幸的是,这是 NLog 4 中的一个错误,正在等待更改:https://github.com/NLog/NLog/pull/959,因为这是一个重大更改,它必须等待 NLog 5。
如果你想知道NLog检查文件的顺序,你可以调用:
var paths = LogManager.LogFactory.GetCandidateConfigFilePaths().ToList();
您还可以使用 SetCandidateConfigFilePaths
覆盖当前使用的路径:
LogManager.LogFactory.SetCandidateConfigFilePaths(new[] { "c://temp/my-nlog.config" });