私はasp.net(興味がある場合はフォーム)を使用してかなり大きなサイトを構築している最中ですが、log4netなどのロギングフレームワークが必要かどうか疑問に思っています。私は以前にそのようなフレームワークを使用したことがありますが、このタイプのプロジェクトでどのように使用できるかわかりません。通常、顧客が提供するアプリケーションにはログが必要だと思います。ログを返送してエラーを分析することができます。どう思いますか?
4 に答える
いいえ-ロギングはWebアプリケーションにとって非常に重要です。適切にログを記録すると、トラブルシューティングが非常に簡単になります。
Log4Netは、おそらくフレームワークとしては良い賭けです。複数のサーバーからログを収集する方法も必要になる場合があります。現時点で複数のサーバーを使用していない場合でも、いつか使用することをお勧めします。
一元化の1つのオプションは、ログをデータベースにコピーすることです。この質問については、この質問を参照してください。
ログは、すべてのタイプのアプリケーションで必要です。顧客が提供したものであれ社内で提供されたものであれ、アプリケーションを出荷する場合、それがWebフォームであろうとsmartclient / windowsアプリケーションであろうと、ロギング/インストルメンテーションがそのバックボーンを形成します。
アプリケーションのエンドユーザーは、アプリケーションが期待どおりに機能していることをどのようにして知ることができますか?エラーが発生した場合はどうなりますか?制作チームはどのようにエラーを診断しますか?エンドユーザー/adminはどのようにアプリケーションをプロアクティブに分析し、潜在的な将来の問題を防ぎますか?
ASP.netを使用しているので、ASP.netの「ヘルスモニタリング」機能も確認することをお勧めします。
さまざまなタイプのロギング用にカスタムイベントとプロバイダーを記述し、同期/非同期で使用するように構成できます。
log4netまたはエンタープライズロギングブロックを「ヘルスモニタリング」と一緒に使用して、最小限の労力で包括的なロギング/インストルメンテーションソリューションを作成できます。
私は確かにエンタープライズ情報シンク(これは正しい名前だと思います、ロギング用のMicrosoft APIです)またはエンタープライズライブラリを保証します。
後者は、キャッシュやロギングなど、あらゆる種類の用途に使用します。これは、非常に強力で時間の節約になるツールです。ヘルスモニタリングも使用しています。これは、私が構築している大規模なWebアプリケーション用です。
.NETへのログインに関しては、選択の余地があります。上記の2つの提案はすばらしいものです。
アプリケーションがどのように動作するか、どのような状況でエラーが発生するか、誰がどのようにアプリケーションを使用したか (IP アドレス、時間、リンクなど) を知る必要がある場合は、ログが必要です。
ほとんどの人は、プログラムの実行を追跡するためにこれを使用して、「なぜ動かなくなったのですか?」、「いつ動かなくなったのですか?」などの質問に答えることができます。等
アプリケーションのコーディングが上手すぎることを知っていて、問題を簡単に再現できる場合は、ロギングはやり過ぎだと思います:)