#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 (SqlParameter sqlParam in cmd.Parameters)
{
_logger.LogInfo(String.Format("Name: {0}; Value: {1}; SqlValue: {1}", sqlParam.ParameterName,
sqlParam.Value, sqlParam.SqlValue));
}
base.OnExecutingCommand(cmd);
}
Естественно, я действительно не хочу регистрировать каждую команду параметры в производственной среде.
Каков наилучший подход для регистрации команды параметров только при возникновении исключения?
Спасибо!
Ответ №1:
Вы можете попробовать это.
public override void OnException(Exception x)
{
_logger.Log(LastCommand);
_logger.LogError(x);
}
LastSql
и LastArgs
также доступны.