所以,我有更多可执行文件共享的库。如果我理解正确,我不能像library.dll.nlog那样直接将配置附加到库,但我必须使用每个exe的配置或使用nlog.config进行全局设置。 (可以从更多地方登录到单个日志中。)
这里我们附带了几个不使用此dll的可执行文件,并且需要登录到不同的日志文件,因此,我可以像app.exe.nlog一样使用每个exe的配置。它完美无缺,直到放在nlog.config文件的目录中。
基于https://github.com/nlog/NLog/wiki/Configuration-file我希望设置将按优先级加载(首先专用于exe,然后是全局),当找到配置时,它会被使用。
所以,我做错了什么或者是否存在配置处理的缺陷?
答案 0 :(得分:1)
不幸的是,这是一个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" });