現在取り組んでいるプロジェクトに問題があります。開発者は、tryブロックに複数のcatchブロックを追加しました。各キャッチはエラーをログに記録し、それを再スローします。このようなもの:
catch (OdbcException ex)
{
ex.Data.Add("CodeSource", MethodBase.GetCurrentMethod().Name);
ex.Data.Add("My Value", myValue);
Common.Logger.LogError(ex, "DataAccess");
throw;
}
catch (Exception ex)
{
ex.Data.Add("CodeSource", MethodBase.GetCurrentMethod().Name);
ex.Data.Add("My Value", myValue);
Common.Logger.LogError(ex, "DataAccess");
throw;
}
その上、呼び出し側のクラスにも同じことを行うcatchブロックがある場合があります。したがって、ログファイルは混乱しています。同じメッセージが最大5つ以上ログに記録されています。
とにかく、どこでもコードを変更することなく、エラーを1回だけログに記録できますか?悲しいことに、プロジェクトは終わりに近づいているので、彼らはそれを正しく行うために余分な時間を費やしたくないのです。><