可以配置NLog的行为both via configuration files and programmatically。
似乎在我设置编程规则时,仍会处理任何存在的配置文件,因此这两种机制同时处于起作用状态。这准确吗?
是否可以将NLog设置为仅使用编程规则并防止其读取任何配置文件?
答案 0 :(得分:3)
为了扩展谢尔盖的答案,假设你有一个LogFactory:
var factory = new LogFactory()
创建此文件时,它会尝试从配置文件中读取配置数据。您可以调整或补充此配置
factory.Configuration.LoggingRules.Add( ... )
但是,您也可以使用自己的替换配置:
factory.Configuration = new LoggingConfiguration();
在这种情况下,任何已加载的配置都将被丢弃,现在您只继续处理在代码中创建的规则。
答案 1 :(得分:-1)
LoggingConfiguration config = new LoggingConfiguration(); //Create configuration object in code
Logger Log = LogManager.GetCurrentClassLogger(); //Load configuration from xml file
如果您分别使用这些方法之一,它将起作用