私のアプリケーションでは、次のロギング戦略/アペンダがあります。
- 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
デフォルトのトレース/デバッグ出力にサイレントにアタッチしたことがわかりました。これが問題の原因である可能性があります。ただし、DefaultTraceListener
app.config で明示的に宣言しても役に立ちませんでした。
OWINをより少なく...卑劣になるように構成する方法はありますか?