2011-01-21 11 views
1

私はクラスライブラリプロジェクトをいくつか使用するMVCアプリケーションを持っています。私はすべてのプロジェクトでログを取るためにNLogを実装しました。各プロジェクト(クラスライブラリプロジェクトを含む)には、NLog.configファイルがあります。ロギングはMVCアプリケーションには効果的ですが、他のクラスライブラリではログファイルはまったく生成されません。nlogはクラスライブラリプロジェクトでは機能しません

ここで何か問題がありますか?すべてのプロジェクトでハードコードされたパス(D:{project_name} \ xx)でログファイルを生成するように設定しました。

また、すべての "NLog.config"ファイルが出力ディレクトリに "常にコピーする"ように設定されています。

答えて

1

一般的に言えば、私の理解では、アプリケーション全体で1つの設定ファイルしか使用されていないということです。したがって、各クラスライブラリは、各クラスライブラリ用に作成した設定ファイルではなく、アプリケーションの設定ファイルを使用します。私はクラスライブラリに独自の設定ファイルを探すように強制する方法があると思いますが、それは単にアプリケーションの設定ファイルにアクセスするのと同じくらい一般的ではありません。私はNLogの場合でも動作するかどうかはわかりません。なぜなら、「NLogインスタンス」が1つしかないからです(恐らく最も正確な用語ではないでしょう)。 「NLog」は1つだけであるため、1つの方法でしか設定できません。

NLogの設定情報をすべて同じファイルに入れなかった(またはしたくない)理由はありますか?

+0

ありがとうございました。それが私の必要なものでした。それは魅力のように働いた。 – Cranialsurge

+0

@Cranialsurgeあなたは、クラスライブラリのapp configにNLog情報を追加して、それを再び動作させると言っていますか? –