2016-07-20 1 views
0

저는 사용자 정의 예외를 반환하는 스프링 컨트롤러가 있습니다. 그러나 특정 예외로 인해 "Log.Error()"가 발생하는 것을 원하지 않습니다. 불행히도, Feign은 자동으로 그러한 방식으로 기록합니다.특정 예외에 대한 로그 로그 동작 수정

이 동작을 변경하는 방법이 있습니까?

감사합니다.

답변

0

분명히 문제는 아니지만, 로그 작성을 한 임베디드 Tomcat이었습니다.

import ch.qos.logback.classic.Level; 
import ch.qos.logback.classic.Logger; 
import ch.qos.logback.classic.turbo.TurboFilter; 

// o.a.c.c.C is the name of the Apache Tomcat logger 
Logger root = (Logger) LoggerFactory.getLogger("o.a.c.c.C"); 
root.getLoggerContext().addTurboFilter(new TurboFilter() { 
    @Override 
    public FilterReply decide(Marker marker, Logger logger, Level level, String format, Object[] params, Throwable t) { 
     if(null != t && t instanceof OurCustomException) { 
      return FilterReply.DENY; 
     } 

     return FilterReply.ACCEPT; 
    } 
}); 
:

우리는 우리의 로그에 그 '방법을 만드는에서 특정 예외를 방지하기 위해 로거에 "TURBOFILTER"를 추가 할 수 있었다