2017-09-16 10 views
0

나는 내 응용 프로그램 이름이모든 로그 문에서 .yml 파일에 제공된 응용 프로그램 이름을 인쇄하는 방법은 무엇입니까?

2017-09-16 15:53:35.687 INFO 18302 --- [ restartedMain] mc.n.e.EurekaDiscoveryClientConfiguration : My Log print statement 

처럼 내 log4j 패턴이

LOG_PATTERN=[%d{yyyy-MM-dd HH:mm:ss.SSS}] boot%X{context} - ${PID} ${LOG_LEVEL_PATTERN} [%t] --- %c{1}: %m%n 

입니다

log4j 로그에 .yml 파일에 난 내 로그를 원하는 형식을 현재 내가 무엇입니까 로그를 제공 인쇄 싶어 인쇄하려면

2017-09-16 15:53:35.687 INFO 18302 --- [**APPLICATION_NAME**] [ restartedMain] mc.n.e.EurekaDiscoveryClientConfiguration : My Log print statement 

어떻게 log4j 로그이 웹 응용 프로그램, 당신은 필터 MDC을 사용할 수 있습니다 가정

답변

0

거기에 응용 프로그램 이름을 넣을 수 있습니다.

는 예를 참조하십시오

public class MDCFilter implements Filter { 
    @Override 
    public void doFilter(ServletRequest request, ServletResponse response, 
      FilterChain chain) throws IOException, ServletException { 
     try { 
      MDC.put("appName", "**APPLICATION_NAME**"); 
      chain.doFilter(request, response); 
     } finally { 
      MDC.remove("appName"); 
     } 
    } 
} 

필터 위 MDC에 앱 이름을 넣어 다음 앱 이름을 인쇄 로그 패턴을 사용할 수 있습니다. 아래 로그 패턴을 바탕으로

참조 수정 :

%d{yyyy-MM-dd HH:mm:ss.SSS} boot%X{context} - ${PID} ${LOG_LEVEL_PATTERN} [%t] --- [%X{appName}%n] %c{1}: %m%n 

참고 : %X{appName}%n 필터에 배치 된 것을 출력 MDC.put("appName", "**APPLICATION_NAME**");

위 출력됩니다 다음과 같은 것이다 :

2017-09-16 15:53:35.687 INFO 18302 --- [**APPLICATION_NAME**] [ restartedMain] mc.n.e.EurekaDiscoveryClientConfiguration : My Log print statement