Asp.net mvc 3 仅在出现错误w/PetaPoco时记录SqlCommand
我知道我可以用PetaPoco记录异常,因此:Asp.net mvc 3 仅在出现错误w/PetaPoco时记录SqlCommand,asp.net-mvc-3,petapoco,Asp.net Mvc 3,Petapoco,我知道我可以用PetaPoco记录异常,因此: public override void OnException(Exception x) { _logger.LogError(x); } 我还意识到我可以转储命令文本+参数: public override void OnExecutingCommand(System.Data.IDbCommand cmd) { _logger.LogInfo(cmd.CommandText); foreach (SqlParamet
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);
}
当然,我并不想在生产环境中记录每个命令+参数
当抛出异常时,仅记录命令+参数的最佳方法是什么
谢谢 你可以试试这个
public override void OnException(Exception x)
{
_logger.Log(LastCommand);
_logger.LogError(x);
}
LastSql
和LastArgs
也可用