0

NLog 的行为可以通过配置文件和编程方式进行配置。

似乎当我设置编程规则时,仍然处理存在的任何配置文件,因此这两种机制同时发挥作用。这是准确的吗?

是否可以将 NLog 设置为仅使用编程规则并阻止它读取任何配置文件?

4

2 回答 2

3

为了扩展 Sergey 的答案,假设您有一个 LogFactory:

var factory = new LogFactory()

当它被创建时,它会尝试从配置文件中读取配置数据。您可以调整或补充此配置

factory.Configuration.LoggingRules.Add( ... )

但是,您也可以将配置替换为您自己的:

factory.Configuration = new LoggingConfiguration();

在这种情况下,任何已加载的配置都将被丢弃,现在您将继续使用您在代码中创建的规则。

于 2013-09-11T20:54:27.110 回答
0
LoggingConfiguration config = new LoggingConfiguration(); //Create configuration object in code
Logger Log = LogManager.GetCurrentClassLogger(); //Load configuration from xml file

如果您分别使用其中一种方法,它将起作用

更多信息:https ://github.com/nlog/nlog/wiki

于 2013-09-10T20:24:23.387 回答