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 に答える