2011-11-01 1 views
0

을하는 SqlCommand : 당연히로깅 내가 이렇게 PetaPoco으로 예외를 기록 할 수 있습니다 알고/단지 w 오류가 발생하는 경우에 PetaPoco

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); 
} 

: 나는 또한 내가 명령 텍스트 + PARAMS를 덤프 할 수 실현

public override void OnException(Exception x) 
{ 
    _logger.LogError(x); 
} 

, 나는 프로덕션 환경에서 각 명령 + 매개 변수를 실제로 로깅하지 않으려 고합니다.

예외를 던집니다 때 + 매개 변수 로그 유일한 방법은 무엇입니까?

감사합니다.

답변

1

시도해 볼 수 있습니다.

public override void OnException(Exception x) 
{ 
    _logger.Log(LastCommand); 
    _logger.LogError(x); 
} 

LastSqlLastArgs도 사용할 수 있습니다.

+0

굉장 - 고마워요! 내가 그걸 놓쳤다는 것을 믿을 수 없어 ... – seekay

관련 문제