이슈

Tomcat에서는 로그 파일이 생성되어 application 로그와 Jeus Container 로그가 분리되지만

JEUS에서는 로그가 분리되지 않고 JeusSever.log 에 같이 쌓이는 현상

원인

Log4j 로그는 JEUS 설정에서 관리하는 로그가 아님

WEB-INF/Log4j2.xml 파일 확인 결과

<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="${sys:FILE_LOG_PATTERN}"/>
</Console>

XML 설정 내 Console 호출 부분에서 SYSTEM_OUT이 consoleAppender 형태로 호출되고 있음

ConsoleAppender vs FileAppender

출력 위치 콘솔 (System.out, System.err) 지정한 파일로 출력
목적 개발/테스트용 (터미널에서 바로 보기) 운영/배포용 (로그 파일 기록)
특징 서버 stdout 리다이렉트 설정에 영향 받음 (JEUS에서는 JeusServer.log로 빨려 들어갈 수 있음) 독립된 파일로 안전하게 로그 기록 가능
사용 용도 개발 중 디버깅, 로컬 테스트 운영 서버, 대용량 로그 관리

Tomcat 과 Jeus의 로그 구조 차이

Tomcat : Catalina.out 파일로 system out/err만 저장

Jeus : JeusServer.log에 system out/err + JEUS 내부 로그 같이 저장

 

해결

ConsoleAppender 설정이 아닌 FileAppender 설정으로 변경 가이드

<Appenders>
    <File name="FileLog" fileName="/home/was/logs/application.log">
      <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"/>
    </File>

+ Recent posts