2016-10-06 6 views
1

私はWindowsサービスを作成していますが、OnStartの呼び出しごとに新しいLoggerをサービスコンストラクタと比較して作成する方が良いと考えました。そうすれば、サービスが再起動されたときに、設定ファイルの変更が有効になることを願っています。何とかプロセスを再起動しなくても、すべての手間を省くことができます。NLogはNLog.configからデータをキャッシュしますか?

その後、NLogはファイルを一度しか読み込めないかもしれません。それはLogManagerなどが初期化され、私の予防措置は無駄です。

答えて

1

設定ファイル(nlog.config)を使用する場合、autoReloadを有効にすることができます。

<nlog autoReload="true"> 
    ... 
</nlog> 

有効とnlog.configに変更がある場合は、設定はサービスの再起動なしでを自動的にリロードされます。 Automatic reconfigurationを参照してください。

NLogを問題なく設定すると(nlog.configなしで)、設定の変更後にLogManager.ReconfigExistingLoggersを呼び出す必要があります。

となり、OnStartの呼び出しごとに新しいLoggerを作成する方が良いと思います。

いずれの場合も、新しいLoggerが作成されても問題はありません。

+0

ねえ、ありがとう、男! – ProfK

関連する問題