0

我试图通过以下方式更改 NLog 的配置:

LogManager.Configuration.AddTarget (name, foo);
LogManager.Configuration.LoggingRules.Add (new LoggingRule ("*", LogLevel.Trace, foo));

但它默默地忽略了我的更改。但是,当我尝试

SimpleConfigurator.ConfigureForTargetLogging (this, level);

它立即工作 - 但丢弃了所有以前的配置。为什么会这样,我该如何解决?

4

1 回答 1

0

SimpleConfigurator 替换当前配置,因此您不能将其用于聚合案例。

NLog 不会检测和跟踪对其当前配置所做的更改,除非您通过LogManager.Configuration = new_config. 所以改用这个:

var conf = LogManager.Configuration;
conf.AddTarget (name, foo);
conf.LoggingRules.Add (new LoggingRule ("*", LogLevel.Trace, foo));
LogManager.Configuration = conf;
于 2012-07-03T08:56:43.733 回答