8

私のプログラムは、単一のEXEと6つのDLLで構成されています(もちろん、全員が全員を参照しています)。現在、それぞれの参照として追加する独自のDLL(Logger.dll)にある大まかな静的ロギングクラス(Logger)があります。私のプロジェクトと使用...しかし、ホイールを再発明する代わりに、これをnLogに置き換えることを検討していました。

問題は、すべてのプロジェクトが同じnLog構成ファイルを共有する方法を理解できないようです(すべてを同じファイルに記録したいのですが、プロジェクトごとに構成ファイルを定義したくありません)。

  1. すべてのプロジェクトに単一の構成ファイルを作成する方法はありますか?
  2. これは安全ですか?同じファイルにアクセスする各プロジェクトのnLogは、競合の問題を引き起こしませんか?nLogはすでにこれを正しく処理していますか?

それとも、静的なLogger.dllでnLogをラップして(奇妙なことですが、機能します)、アプリケーションで今日と同じように実行し続けるのが最善でしょうか?

ありがとう、

4

1 に答える 1

6

NLog は、必要なものを処理する必要があります。NLog.config ファイルは、アプリケーション (EXE) レベルで適用されます。そのため、NLog.config で NLog を構成すると、アプリケーションの起動時に構成が読み込まれます。EXE または DLL のいずれかにあるすべてのクラスは、NLog からロガーを取得すると、EXE レベルの NLog.config ファイルに従って構成されたロガーを返します。

于 2012-12-13T15:30:36.367 に答える