私のチームは、C# ASP.NET Web アプリケーションに取り組んでいます。エラーログファイルに書き込むことでエラーを処理することにしました。
私が作成した log.Error メソッドは、エラー ディレクトリ内の物理ログ ファイルにログを記録します。
エラーが発生するたびにログに記録したいので、log.Errorメソッドの実行に関しては、ロックを使用してスレッドを制御するのが適切であると考えました。
したがって、私の例外処理のほとんどの形式は次のとおりです。
protected void blahblahCsharpMethodBlahBlah()
{
try
{
blah blah C# code blah blah
}
catch(Exception ex ){
lock (_objectblahblahCsharpMethodBlahBlah)
{
// The following log.Error method that I wrote would log to a physical log file in an error directory.
log.Error(ex.ToString(),
PerlsPivotErrorDirectory,
System.Reflection.MethodBase.GetCurrentMethod().Name,
this.GetType().Name, System.IO.Path.GetFileName(System.Reflection.Assembly.GetExecutingAssembly().Location));
}
}
} // protected void blahblahCsharpMethodBlahBlah()
スレッドを制御するためにロックを使用して、適切なシリアル化された方法で log.Error メソッドを実行するのは適切な方法ですか?