2011-09-20 10 views
5

私は約20回(異なる設定の設定で)展開して実行しているC#コンソールアプリを持っています。あなたはそれを維持するのは難しいと思いますが、20のアプリケーションを実行している状況(Windowsサービスとしてこれらを展開するつもりです)に何が起こっているのかを見ていますので、これらの出力を1か所に簡単に表示できるものはありますか?mutilple .Netコンソールアプリの出力を1か所で表示

私はログファイルについて考えましたが、これらは非常に高速になる可能性があり、開いて見るファイルがたくさんあります。予想通りに実行されているかどうかを確認するための出力があります。

編集:

私はエラーを書くことになるだろうし、データベースへの情報の開始/停止しています。私がここで話しているのは、一般的な処理情報ですが、これは再訪に関連するものではありませんが、コンソールアプリケーションで実行している間に見るのは面白いものです。

+0

それらがすべて同じ場所にログインしても?データベース? – Widor

+0

私はあまり心配していません、彼らはすべての情報をログに記録します(私はエラーに同意します)。彼らが1日に何万件もの行動をしているのであれば、それをもう一度見る必要はないので、必ずしもすべてをデータベース(またはファイル)に書き込む必要はありません。 – finoutlook

+2

log4netとそれが提供するアペンダーを見てみましょう。一度設定すれば本当に簡単です。また、Updを使用すると、リッスンする人がいなければ、データグラムはサイバースペースに消えます。 –

答えて

4

log4netとその設定可能なUdpAppenderの使用に成功しました。その後、すべてのUdpAppendersを1台のマシンにポイントして、Log4ViewなどでUdpメッセージを受け取ることができます。

プロダクション環境でインストールおよびデバッグした後で、DEBUGまたはINFOメッセージの代わりにERRORメッセージのみを出力するようにログレベルを上げるときに使用できます。

http://logging.apache.org/log4net/

http://www.log4view.com

http://logging.apache.org/log4net/release/config-examples.html

2

私は重いDBの背景から来るが、たぶんので、どのように異なるアプリケーション間での活動を追跡するために、ログテーブルにSQL Serverを使用してはどうですか?

DBは並行処理に対応しており、同じLogテーブルにデータを挿入する複数のアプリケーションを簡単に処理できます。既存の集約を利用して、データをスライスしてダイシングするオプションもあります。 DB環境での機能

このルートをダウンすると、おそらくそのテーブル(ログ保持期間など)を維持することを検討する必要があります。

Splunkなどのツールを使用してすべてのログデータを照合し、システムまたは環境の障害(対応する場合)に対応するアプリの障害を開始することもできます。

0

私は2番目のMikaelÖstbergを使用し、ロガーライブラリ(log4net、またはnlog)を使用することをお勧めします。データベースやキューなどにメッセージを送ることができる多くのオプションがあります...ログを簡単にオンまたはオフにすることができるので、奇妙なことが起こった場合のためにモニタのフックとしてサービスに保持することもできます。

+0

私が探しているのは、現在起こっていることを確認したい場合に、それらのログを監視する方法です。私がLog4netに行くと仮定しても、どのように出力を視覚化するのですか、各アプリケーションを見るためにドロップダウンから20回選択する必要がありますか、それとも1ページにすべてを照合できるものがありますか? – finoutlook

関連する問題