[SPRING] 타사 프레임 워크에서 log4j 메시지 필터링
SPRING타사 프레임 워크에서 log4j 메시지 필터링
외부 타사 프레임 워크에서 로그 메시지를 필터링하려면 어떻게합니까? 나는 Hibernate와 Spring 프레임 워크를 사용하고 있으며, log4j 로그 만 나타나도록 로그를 숨기고 싶습니다.
해결법
-
==============================
1.내 log4j.properties 파일에서 루트 로거 로깅 수준을 ERROR로 설정했습니다. 그런 다음 구체적으로 기록하고자하는 패키지의 경우, 응용 프로그램 코드와 같이 로깅 수준을 INFO 또는 DEBUG로 설정합니다.
내 log4j.properties 파일에서 루트 로거 로깅 수준을 ERROR로 설정했습니다. 그런 다음 구체적으로 기록하고자하는 패키지의 경우, 응용 프로그램 코드와 같이 로깅 수준을 INFO 또는 DEBUG로 설정합니다.
log4j.rootLogger=ERROR, stdout log4j.logger.com.initech.tps=DEBUG log4j.logger.org.hibernate.SQL=INFO
루트 로깅을 낮게 설정 한 동료가보고 싶지 않은 모든 것을 나열하는 것을 보았습니다. 나는 내가 기록하고 싶지 않은 모든 것보다 내가 기록하고 싶은 것을 나열하고 싶습니다.
BTW는 제 3 자 구성 요소에 대해 완전히 로그 오프하는 것을 나에게 나쁜 생각으로 보입니다. 예를 들어, Spring은 상대적으로 시끄럽다. 그리고 내가 정말로 알 필요가없는 것들에 대해 WARN을 사용한다. 그러나 뭔가를 위해 ERROR 엔트리를 기록한다면 나는 그것을보고 싶다.
-
==============================
2.log4j.properties / log4j.xml 파일에서 로거 레벨을 변경하면됩니다.
log4j.properties / log4j.xml 파일에서 로거 레벨을 변경하면됩니다.
패키지에서 로그를 필터링하지만 나중에 사용할 수 있도록 로거 구성을 유지하려면 로거의
를 설정해야합니다. 또한 오류가 발생하거나 치명적인 문제가 발생하는 경우에만 기록하도록 최고 수준으로 설정할 수 있습니다. hibernate 및 springframework 패키지에서 로깅을 끄려면 log4j.xml에 다음 항목을 추가해야합니다.
<logger name="org.springframework"> <level value="off"/> </logger> <logger name="org.hibernate"> <level value="off"/> </logger>
-
==============================
3.log4j.properties에서는 로거 단위로 개별 레벨을 정의 할 수 있습니다.
log4j.properties에서는 로거 단위로 개별 레벨을 정의 할 수 있습니다.
log4j.logger.<name>=FATAL
log4j.xml에서 구문은 다음과 같습니다.
<logger name="<name>"> <level value="fatal"/> </logger>
은 종종 정규화 된 클래스 이름입니다. 치명적 오류 대신 WARN 또는 ERROR를 사용하고자 할 수 있습니다. -
==============================
4.log4j.properties에 패키지를 추가하지 마십시오. 예를 들어, 당신은 속성 파일에 Spring을 가지고 있어야합니다. 아래에 몇 가지 항목이 있으면 그것을 꺼내십시오 (org.springframework로 시작하는 모든 항목). 최대 절전 모드에서도 동일한 작업을 수행해야합니다.
log4j.properties에 패키지를 추가하지 마십시오. 예를 들어, 당신은 속성 파일에 Spring을 가지고 있어야합니다. 아래에 몇 가지 항목이 있으면 그것을 꺼내십시오 (org.springframework로 시작하는 모든 항목). 최대 절전 모드에서도 동일한 작업을 수행해야합니다.
#Logs the SQL from Spring log4j.logger.org.springframework.jdbc.core.JdbcTemplate=ERROR #Logs the SQL parameters from Spring log4j.logger.org.springframework.jdbc.core.StatementCreatorUtils=ERROR
또한 언급 한 바와 같이 다음을 설정해야합니다. 나는 이것을 언급하는 것을 잊었다.
log4j.rootLogger=FATAL or log4j.rootLogger=ERROR
from https://stackoverflow.com/questions/3569395/filtering-out-log4j-messages-from-third-party-frameworks by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] JSON을 생성하고 소비하는 컨트롤러 용 Spring RequestMapping (0) | 2018.12.23 |
---|---|
[SPRING] @Autowired 주석은 속성 또는 메소드로 이동해야합니다. (0) | 2018.12.23 |
[SPRING] Jetty가 "정적"페이지를 동적으로로드하도록 만드는 방법 (0) | 2018.12.23 |
[SPRING] 스프링 보안에서 새로운 PasswordEncoder를 사용하는 방법 (0) | 2018.12.23 |
[SPRING] Spring WebSockets의 경로 변수 @SendTo 매핑 (0) | 2018.12.23 |