私は小さなファイル変換ユーティリティを書いています。ファイルは、ディレクトリにドロップされると自動的に変換されます。
ロギングには NLog を使用しています。NLog.confを使用して構成された (生成されたすべてのメッセージを受信する) 中央ログ ファイルに加えて、入力ファイルごとに 1 つの追加のログ ファイルを作成し、同様の名前を持ち、変換プロセス中に書き込まれたすべてのログ メッセージを含めたいと考えています。 .
残念ながら、実行時に新しいファイル ターゲットを適切なルールと共に適切に追加する方法を見つけることができないようです。Logger
変換プロセス中に、すべてのオブジェクトが新しいログ ファイルに書き込まれるようにします。
私は何かを試しました
var logfile = new NLog.Targets.FileTarget();
logfile.FileName = fileName + ".log";
logfile.KeepFileOpen = true;
logfile.Initialize();
var rule = new NLog.Config.LoggingRule("*", logfile);
NLog.LogManager.Configuration.LoggingRules.Add(rule);
NLog.LogManager.ReconfigExistingLoggers();
//
// Proceed with converting file
//
logfile.Flush();
NLog.LogManager.Configuration.LoggingRules.Remove(rule);
NLog.LogManager.ReconfigExistingLoggers();
しかし、ログ ファイルは作成されませんでした。
私は何を間違えたのですか?何か案が?