我们发布了一个用于日志记录的框架程序集,它在内部使用nlog。我们还将嵌入式nlog配置作为组件中的资源发送,并在启动时读取它(我们的包装器中的静态构造函数,它使用XmlLoggingConfiguration类包装nlog包装器)。
我们现在希望开发人员能够通过外部文件为自己的记录器指定/覆盖其他配置(使用相同的nlog配置文件格式)。
我们可以:
还有其他选择吗?
答案 0 :(得分:1)
如何解析包含文件的路径?
您可以在包含的文件名中使用:
${baseDir}
,如果生成的文件名不是绝对的,它会与原始NLog配置所在的目录结合使用,但在您的情况下这可能为空,因此您只能使用前2个选项。
包含文件的内容是否覆盖了嵌入式nlog配置的内容?
不,此内容已添加到嵌入式配置的内容中。
nlog配置部分的内容是否覆盖了我们以编程方式指定的默认配置?
以编程方式设置配置时,将覆盖之前设置的任何配置,并禁用自动配置发现,包括应用程序配置文件或NLog.config中的配置。
但是,您可以在设置嵌入值之前首次检查配置是否为空。这将触发自动发现,如果找到任何日志记录配置,返回的值将为非null。