tomcat 6 stdout.log 파일을 log4J dailyrollingfileAppender처럼 행동하게 할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/2015273

문제

우리는 Tomcat 6의 Windows 설치를 사용하고 있습니다. 기본적으로 앱의 log4j 출력은 $ {catalina.base} /logs/stdout_.log 파일로 이동합니다. 이 로그 파일은 Tomcat을 다시 시작할 때만 롤오버되며 파일 이름에는 항상 날짜가 포함됩니다.

나는 DailyrollingFileAppender처럼 행동하는 것을 선호합니다. 여기서 파일이 롤오버 될 때 파일을 이름을 바꾸는 것을 선호합니다. 그렇다면 메모장 ++를 열고 오늘의 로그를 볼 수 있습니다. 메모장 ++는 어제 같은 파일을 열었다는 것을 기억할 것입니다. :)

Log4J에서 다른 Appender를 만들 수 있다는 것을 알고 있지만 stdout.log 및 다른 로그 파일로 끝날 것이며 두 파일에 로그를 기록하기 위해서는 사소한 성능이있을 것입니다. 내 context.xml에 swallowOutput = true를 추가하려고 시도했지만 여전히 stdout.log에서 모든 로그를 얻습니다. 어떤 아이디어?

도움이 되었습니까?

해결책

요약 된 단계를 시도해 보셨습니까? Tomcat 로그인? 단계를 따르면 LIB 디렉토리의 log4J.properties로 끝나면 마음의 내용에 맞게 사용자 정의 할 수 있습니다.

다른 팁

가장 큰 성능은 로그고 싶은 개체를 준비 할 때입니다 (할 때 알 수 있습니다. logger.info(" operating on " + myObject.toString + " bla bla bla" ) 그런 다음 myObject.toString() 가장 큰 비용이 있습니다). 이미 로그인보다 파일에있는 것보다 이미 가지고 있다면 문제가되지 않습니다. Log4J는 균형이 잘 잡히고 최적화되어 버퍼를 사용하여 로그를 작성하므로 파일 시스템을 너무 자주 호출하지 않습니다.

다른 appender 만 만들면 Tomcat Logs 및 Appilcation Logs와 차별화됩니다. 얼마나 많은 로그가 있습니까? 성능 손실을 두려워하는 하루에 1GB 이상? 테스트하기 전에 아무것도 가정하지 마십시오. 그냥 설정하고 어떤 종류의 성능 테스트를 수행하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top