log4j2 - RollingFile appender 재문의
- 작성자 :
- 박*식
- 작성일 :
- 2016-01-28 11:29:48
- 조회수 :
- 1,148
- 구분 :
- 운영환경
- 진행상태 :
- 완료
Q
며칠 전에 log4j2의 RollingFile appender에 대해 문의 드리고 등록 해 주신 답글은 잘 봤습니다.
답글로 주신 내용을 보면 OnStartupTriggeringPolicy 속성 때문에
시스템을 내리기 직전까지 쌓인 로그가 사라지는 것 같다고 말씀 하셨는데
제가 테스트 해 본 결과 OnStartupTriggeringPolicy의 문제는 아닌것 같습니다.
오히려 <RollingFile /> 선언 태그에 append="false" 옵션을 주면
시스템을 재시작 할때 기존에 쌓인 로그가 유실되고 로그파일이 초기화 되는데
append 옵션 없이 default 상태나 append="true" 옵션을 주면
기존의 로그 파일이 유지되다가 시스템 재가동 직후 첫번째 로그가 기록되는 시점에
기존 로그파일이 롤링 되면서 재가동 직후부터 쌓이는 로그가 초기화된 로그 파일에 기록됩니다.
문제는 Apache 웹서버와 Tomcat을 1:1로 구성 했을때 의도대로 작동하던 로그가
다수의 Tomcat 클러스터링 환경으로 구성했을때 발생합니다.
OnStartupTriggeringPolicy을 선언하면 클러스터링 환경에서도
시스템을 재시작 했을때 기존에 쌓였던 로그파일이 롤링 되지만
append="false" 옵션을 주지 않으면 로그 파일이 초기화 되지 않고
이후 발생하는 로그가 기존 파일에 계속 추가되다보니
시간이 갈수록 로그 파일이 SizeBasedTriggeringPolicy를 무시한채 계속해서 커지게 됩니다.
이런 현상은 OnStartupTriggeringPolicy와 무관하게 클러스터링 환경에서만 발생하여
로그파일과 롤링파일의 크기가 갈수록 커지게 되고,
이를 피하기 위해 append="false" 옵션을 사용하면 로그파일이 초기화 되기는 하지만
시스템을 재시작 하기 전에 까지 쌓인 로그가 유실되는 문제가 있습니다.
제가 궁금한 것은
다수의 톰캣 클러스터가 한개의 로그 파일을 공유할때 발생하는 불가피한 상황인지
아니면 설정파일을 수정하여 개선할 수 있는 문제인지의 여부입니다.
참고로 제가 사용하고 있는 log4j2 버전은 2.3이고
아래에 문의 드렸던 원문을 첨부파일로 함께 남깁니다.
그럼 답변 기다라겠습니다.
항상 친절한 답변 남겨주셔서 고맙습니다.
답글로 주신 내용을 보면 OnStartupTriggeringPolicy 속성 때문에
시스템을 내리기 직전까지 쌓인 로그가 사라지는 것 같다고 말씀 하셨는데
제가 테스트 해 본 결과 OnStartupTriggeringPolicy의 문제는 아닌것 같습니다.
오히려 <RollingFile /> 선언 태그에 append="false" 옵션을 주면
시스템을 재시작 할때 기존에 쌓인 로그가 유실되고 로그파일이 초기화 되는데
append 옵션 없이 default 상태나 append="true" 옵션을 주면
기존의 로그 파일이 유지되다가 시스템 재가동 직후 첫번째 로그가 기록되는 시점에
기존 로그파일이 롤링 되면서 재가동 직후부터 쌓이는 로그가 초기화된 로그 파일에 기록됩니다.
문제는 Apache 웹서버와 Tomcat을 1:1로 구성 했을때 의도대로 작동하던 로그가
다수의 Tomcat 클러스터링 환경으로 구성했을때 발생합니다.
OnStartupTriggeringPolicy을 선언하면 클러스터링 환경에서도
시스템을 재시작 했을때 기존에 쌓였던 로그파일이 롤링 되지만
append="false" 옵션을 주지 않으면 로그 파일이 초기화 되지 않고
이후 발생하는 로그가 기존 파일에 계속 추가되다보니
시간이 갈수록 로그 파일이 SizeBasedTriggeringPolicy를 무시한채 계속해서 커지게 됩니다.
이런 현상은 OnStartupTriggeringPolicy와 무관하게 클러스터링 환경에서만 발생하여
로그파일과 롤링파일의 크기가 갈수록 커지게 되고,
이를 피하기 위해 append="false" 옵션을 사용하면 로그파일이 초기화 되기는 하지만
시스템을 재시작 하기 전에 까지 쌓인 로그가 유실되는 문제가 있습니다.
제가 궁금한 것은
다수의 톰캣 클러스터가 한개의 로그 파일을 공유할때 발생하는 불가피한 상황인지
아니면 설정파일을 수정하여 개선할 수 있는 문제인지의 여부입니다.
참고로 제가 사용하고 있는 log4j2 버전은 2.3이고
아래에 문의 드렸던 원문을 첨부파일로 함께 남깁니다.
그럼 답변 기다라겠습니다.
항상 친절한 답변 남겨주셔서 고맙습니다.
A
안녕하세요. 표준프레임워크 센터입니다.
문의하신 내용에 적절한 답변을 드리지 못해 죄송합니다.
센터측에서는 log4j2 관련 내용에 대한 기본적인 가이드만 제공하고 있기 때문에, 답변에 한계가 있음을 양해해 주시기 바랍니다.
하단의 log4j2 레퍼런스 문서를 참고하시고 점검해 보시기 바랍니다.
http://logging.apache.org/log4j/2.x/manual/appenders.html#RollingFileAppender
p.s. log4j2 issue 내용도 참고해 보시기 바랍니다.
https://issues.apache.org/jira/browse/LOG4J2-1014?jql=project%20%3D%20LOG4J2%20AND%20resolution%20%3D%20Unresolved%20AND%20component%20%3D%20Appenders%20ORDER%20BY%20priority%20DESC
문의하신 내용에 적절한 답변을 드리지 못해 죄송합니다.
센터측에서는 log4j2 관련 내용에 대한 기본적인 가이드만 제공하고 있기 때문에, 답변에 한계가 있음을 양해해 주시기 바랍니다.
하단의 log4j2 레퍼런스 문서를 참고하시고 점검해 보시기 바랍니다.
http://logging.apache.org/log4j/2.x/manual/appenders.html#RollingFileAppender
p.s. log4j2 issue 내용도 참고해 보시기 바랍니다.
https://issues.apache.org/jira/browse/LOG4J2-1014?jql=project%20%3D%20LOG4J2%20AND%20resolution%20%3D%20Unresolved%20AND%20component%20%3D%20Appenders%20ORDER%20BY%20priority%20DESC