5

私のアプリケーションでは、次のロギング戦略/アペンダがあります。

  • DebugAppender : ルート レベルが DEBUG の場合、DEBUG に一致するすべてのメッセージをデフォルトのトレース リスナー出力に書き込みます。
  • ConsoleAppender : アプリケーション モード (グローバル コンテキスト プロパティ) が「コンソール」の場合、WARN の上のすべてのメッセージをコンソール出力に書き込みます
  • EventLogAppender : アプリケーション モード (グローバル コンテキスト プロパティ) が「サービス」の場合、エラーを超えるすべてのメッセージをコンソール出力に書き込みます
  • RollingFileAppender : INFO の上のすべてのメッセージをローリング フラット ファイルに書き込みます

これは、インターフェイスを使用して OWIN Web ホストを開始する最初の行まで、アプリケーション全体で非常にうまく機能しIAppBuilderます。を呼び出すWebApp.Startとすぐに、次の動作に気付きました。

  • デバッグ メッセージ (ILogger.Debug) がコンソール出力に書き込まれる
  • デバッグ メッセージ (ILogger.Debug) が VS デバッグ出力に 2 回書き込まれる

さらに調査したところ、OWIN がSystem.Diagnostics.DefaultTraceListenerおよびのインスタンスをSystem.Diagnostics.TextWriterTraceListenerデフォルトのトレース/デバッグ出力にサイレントにアタッチしたことがわかりました。これが問題の原因である可能性があります。ただし、DefaultTraceListenerapp.config で明示的に宣言しても役に立ちませんでした。

OWINをより少なく...卑劣になるように構成する方法はありますか?

4

1 に答える 1