例外が発生するたびに例外情報をログに記録するエンタープライズアプリケーションがあります。このアプリケーションは、C#とC++。netを組み合わせたものです。
例外発生時にできるだけ多くの情報を入手したい。現在のところ、メッセージとスタックトレースのみを出力します(デバッグビルドでは行番号が表示されますが、リリースは表示されません)。
エラーログの目的は、エラーを可能な限り(可能な限り近くで)指摘することです。どうすればこれをさらに進めることができるのか興味がありますか?もっと情報が欲しい。
たとえば、NullReferenceExceptionsとInvalidArguementExceptionsには異なる量の情報が含まれていることは知っていますが、「メッセージ」フィールド以外は利用していません。
リフレクションを使用し、すべての公開メンバーをキャプチャして印刷するのが最善の策ですか?それとも、大量のタイプチェックとキャストをチェーンして、それらをきれいに印刷しますか?制約として、私のロギング関数は、Exception型の引数を受け取る必要があります。