gpt4 book ai didi

nlog - 如何覆盖默认的 nlog 配置?

转载 作者:行者123 更新时间:2023-12-01 05:30:33 28 4
gpt4 key购买 nike

我们提供了一个用于日志记录的框架程序集,它在内部使用 nlog。我们还提供了一个嵌入式 nlog 配置作为我们程序集中的资源,并在启动时读取它(包装器中的静态构造函数,它使用 XmlLoggingConfiguration 类包装 nlog 包装器)。

我们现在希望开发人员能够通过外部文件为他们自己的记录器指定/覆盖额外的配置(使用相同的 nlog 配置文件格式)。

我们可以吗:

  • 引用我们嵌入式 nlog 配置文件中的包含文件?包含文件的路径是如何解析的?如果我们这样做,包含文件的内容是否会覆盖我们在启动时读取的嵌入式 nlog 配置的内容?
  • 开发者可以使用nlog配置部分吗?本节的内容是否覆盖了我们在编程上指定的默认配置?

  • 还有其他选择吗?

    最佳答案

    How is the path of the include file resolved?



    您可以在包含的文件名中使用:
  • 布局渲染器,例如 ${baseDir} ,
  • nlog variables .

  • 如果生成的文件名不是绝对的,它将与原始 NLog 配置所在的目录组合,但在您的情况下这可能为空,因此您仅限于前 2 个选项。

    does the content of the include file override the content of the embedded nlog configuration?



    不,这个内容被添加到嵌入配置的内容中。

    Does the content of nlog configuration section override the default configuration we have specified programmatically?



    当您以编程方式设置配置时,您会覆盖之前设置的任何配置并禁用自动配置发现,包括来自应用程序配置文件或 NLog.config 的配置。

    但是您可以在设置嵌入值之前第一次检查配置是否不为空。这将触发自动发现,如果发现任何日志记录配置,则返回值将为非空。

    关于nlog - 如何覆盖默认的 nlog 配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11406268/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com