2009-08-06 2 views
0

私は監視する責任があるいくつかの.netアプリケーション(〜100)を持っています。それらのうちのいくつかは、イベント・ビューアーにログを記録し、他のユーザーはフラット・ファイルにログを記録するデータベースへのロギングを行いますlog4net、エンタープライズライブラリ、いくつかの社内レガシーロギングフレームワークなどのいくつかのロギングフレームワークは、どのように正確に動作するかを知っていません。複数のアプリケーションからのロギングの概要

私のシステムは主にウェブサービスとスマートクライアントです。

これらのすべてのシステムと異なるロガーから、何が起こっているのかを私に見せてくれるユニットに、ロギングを統合する方法が必要です。私は約束事に見えるl4ndashを見つけましたが、l4ndashが1つのアプリケーションの概要を提供するように構築されているという感覚を揺さぶることはできません。誰もそれについて詳しく説明できますか?私は非常に多くのシステムを持っているので、既に他のものを使用することは可能ですか?

何かが役に立ちます。

答えて

0

私が提案する最初のことは、どのツールを使用するか、カスタムコードを書くかにかかわらず、集中型ロギングシステムを作成することです。次に集中管理されたもの(好ましくはデプロイ可能なアセンブリ)を使用して、アプリケーションをポイントすることができます。ここで重要なことは、ロガーを変更する場合は、すべてのアプリケーションを管理するために1か所に行くことだけです。純粋にインターフェイスから動作するすべてのアプリケーション内で抽象レイヤを使用してこれを構築することをお勧めします。アプリケーションレベルでStructureMapのようなものを使用して、必要に応じてアプリケーションごとに物事を入れ替えることができます。また、ロガーレベルでもStructureMapのようなものを使用して、そのレベルでグローバルスワップを行うこともできます。

ウェブスタイルのアプリでは、ELMAHを一般的なロガーとして使用することをおすすめします。私はまた、常にlog4netを監視しています。

+0

明確にすることはできますか?すべてのアプリケーションでlog4netなどの同じログフレームワークを使用する必要があると言っていますか?集中管理されたロギングシステムを作成する必要があると言えば、標準のソリューションがあればそれをそのまま使用できますか? – Fadeproof

+0

Microsoftのエンタープライズアプリケーションブロックを使用することはできますが、私は頻繁にそれらが肥大化していることがわかります。中央リポジトリをデータベース経由で作成するか、MSMQを使用するのが望ましいでしょう。その後、キューをクリアし、記録されたメッセージを適切に処理します。しかし、はい、すべてのアプリケーションが使用できる集中ロギングラッパーが最適です。そうでなければ、異なるフレームワークを介してログメッセージの通知を受けることができる集中型のレポートキューが次の最良のものになります。 –

関連する問題