【发布时间】:2013-09-12 04:54:27
【问题描述】:
NLog的行为可以配置both via configuration files and programmatically。
似乎当我设置编程规则时,仍然处理存在的任何配置文件,因此这两种机制同时发挥作用。这准确吗?
是否可以将 NLog 设置为仅使用编程规则并阻止它读取任何配置文件?
【问题讨论】:
NLog的行为可以配置both via configuration files and programmatically。
似乎当我设置编程规则时,仍然处理存在的任何配置文件,因此这两种机制同时发挥作用。这准确吗?
是否可以将 NLog 设置为仅使用编程规则并阻止它读取任何配置文件?
【问题讨论】:
为了扩展 Sergey 的回答,假设您有一个 LogFactory:
var factory = new LogFactory()
当它被创建时,它会尝试从配置文件中读取配置数据。您可以调整或补充此配置
factory.Configuration.LoggingRules.Add( ... )
不过你也可以替换你自己的配置:
factory.Configuration = new LoggingConfiguration();
在这种情况下,任何已加载的配置都将被丢弃,现在您将继续使用您在代码中创建的规则。
【讨论】:
LoggingConfiguration config = new LoggingConfiguration(); //Create configuration object in code
Logger Log = LogManager.GetCurrentClassLogger(); //Load configuration from xml file
如果你分别使用其中一种方法,它就会起作用
【讨论】: