C# のサービスからコンソール出力をキャプチャするにはどうすればいいですか? 質問する

C# のサービスからコンソール出力をキャプチャするにはどうすればいいですか? 質問する

リモートの顧客システムに展開されている C# サービスがあります。アプリケーションは、大量の「診断」情報をコンソールに書き込みます (Console.WriteLine() など)。サービスは「必要な動作」を実行していません。別のアプリケーションでサービスからのコンソール出力をキャプチャするにはどうすればよいでしょうか。

WinForm バージョンのアプリケーションは、顧客の場所でロードできます。残念ながら、正常に機能します。

アップデート:

サービスを変更することは可能ですが、現時点では大きな変更は行いません。

MSMQ にもログを記録していますが、これは「重要な」イベントについてのみです。このサービスは、通常の操作では MSMQ と対話します。少なくとも、そうあるべきです。WinForm バージョンでは MSMQ からアイテムを取得していますが、このサービスは取得していないようです。そのため、コンソールに送信されるメッセージを書き込むと問題が発生する可能性があります。

ベストアンサー1

サービスコードを変更することはできますかまったく? もしそうなら、代わりに Console.SetOut を使用してファイルに書き込むのが、最も明白な最初の選択肢です。その後、次のリリースでは適切なログ ライブラリを使用するように変更します :)

おすすめ記事