私はこれを調べて3日を費やしましたが、確かな答えを見つけることができません。デバッグメッセージをキャプチャして、リストログに出力したい。私はこれをC#で行おうとしています。私を正しい方向に向けるために、コミュニティからの助けが欲しいです。
2 に答える
まあ、それは可能です。デバッグ出力は、出力ウィンドウに表示されることに限定されません。
カスタムリスナーを作成してDebug.Listeners
コレクションに追加するだけです。トレースリスナーの追加に関する完全なドキュメントは、MSDNにあります。
注意すべき唯一のことは、リスナーがデバッグとトレース出力のために共有されていることです。したがって、リスナーを追加すると、両方のタイプのメッセージを受信します。
それが大変な作業のように聞こえ、手っ取り早い解決策が必要な場合は、Sysinternalsから無料のDebugViewユーティリティをダウンロードできます。このすてきな小さなツールは、実行する別個のアプリケーションであり、マシンにインストールされているすべてのプログラムからのすべてのデバッグ出力をリッスンします。これを使用すると、アプリケーションで1行のコードを変更する必要もありません。送信先の出力はすべてDebug.Write
、DebugViewウィンドウに表示されます。
または、アプリケーションに同梱できる長期的なものを探している場合は、ログ機能の追加を検討することをお勧めします。この機能を提供する優れたオープンソースライブラリはたくさんあり、アプリが不明な構成のシステムにデプロイされている場合、現場で非常に貴重なものになる可能性があります。
ロギングに関する限り、Log4Netは堅牢で使いやすいです。NuGetを介してプロジェクトに追加できます(NuGetが何であるかわからない場合は、チェックしてください。本当に素晴らしいです)。それはあなたが望むところに多かれ少なかれログを記録することを可能にします(コンソール、ファイル、メール、db ...)
Webサイトには、優れたドキュメントと例が含まれています。