私はPetaPocoで例外をログに記録できることを知っています:
public override void OnException(Exception x)
{
_logger.LogError(x);
}
また、コマンドテキスト+パラメータをダンプできることもわかりました。
public override void OnExecutingCommand(System.Data.IDbCommand cmd)
{
_logger.LogInfo(cmd.CommandText);
foreach (SqlParameter sqlParam in cmd.Parameters)
{
_logger.LogInfo(String.Format("Name: {0}; Value: {1}; SqlValue: {1}", sqlParam.ParameterName,
sqlParam.Value, sqlParam.SqlValue));
}
base.OnExecutingCommand(cmd);
}
当然のことながら、実稼働環境で各コマンドとパラメーターをログに記録する必要はありません。
例外がスローされた場合にのみコマンド+パラメータをログに記録するための最良のアプローチは何ですか?
ありがとう!