WebSphere Liberty (Open Liberty) 운영 중 불필요하게 반복되거나, 보안 정책상 숨겨야 하는 로그 메시지가 발생할 때가 있습니다. 예를 들어, CWWKS4001I 같은 보안 감사 로그가 대표적입니다.
일반적으로 bootstrap.properties에 설정을 추가하지만, 상황에 따라 적용되지 않는 경우가 있어 이를 확실하게 적용하는 두 가지 방법(server.xml 활용 등)을 정리합니다.
1. 문제 상황
bootstrap.properties 파일에 아래와 같이 설정했음에도 불구하고, messages.log나 console.log에 여전히 해당 메시지가 출력되는 현상이 발생했습니다.
# bootstrap.properties 설정 예시
com.ibm.ws.logging.hideMessage=CWWKS4001I
com.ibm.ws.logging.hideMessage=CWWKS4001I
원인: 서버 초기화 시점과 로깅 시스템 로드 시점의 차이, 혹은 server.xml 설정의 우선순위 문제일 수 있습니다.
2. 해결 방법 A: server.xml에서 제어 (권장)
가장 확실한 방법은 server.xml의 <logging> 태그를 사용하는 것입니다. 이 방식은 명시적이며 설정 반영 확률이 가장 높습니다.
- 파일 경로:
${server.config.dir}/server.xml
<server description="My Server">
<!-- 기존 logging 태그가 있다면 속성을 추가, 없다면 신규 작성 -->
<!-- hideMessage: 숨길 메시지 ID를 콤마(,)로 구분하여 작성 -->
<logging hideMessage="CWWKS4001I"/>
<!-- 기타 설정들... -->
</server>
<!-- 기존 logging 태그가 있다면 속성을 추가, 없다면 신규 작성 -->
<!-- hideMessage: 숨길 메시지 ID를 콤마(,)로 구분하여 작성 -->
<logging hideMessage="CWWKS4001I"/>
<!-- 기타 설정들... -->
</server>
3. 해결 방법 B: bootstrap.properties 재점검
부트스트랩 파일을 계속 사용해야 한다면, 다음 사항을 체크해야 합니다. 부트스트랩 변경은 반드시 서버 재기동(Stop & Start)이 필요합니다.
- 설정 값 뒤에 공백(Space)이 포함되어 있지 않은지 확인
- 오타 확인 (
com.ibm.ws.logging.hideMessage)
# 공백 없이 정확하게 입력
com.ibm.ws.logging.hideMessage=CWWKS4001I
com.ibm.ws.logging.hideMessage=CWWKS4001I
4. 검증 및 결과
설정 적용 후 기존 로그를 정리하고 서버를 재기동하여 적용 여부를 확인합니다.
# 1. 로그 파일 삭제
rm messages.log console.log
# 2. 서버 재기동
server stop [서버명]
server start [서버명]
# 3. 로그 확인 (결과가 없어야 성공)
grep "CWWKS4001I" messages.log
rm messages.log console.log
# 2. 서버 재기동
server stop [서버명]
server start [서버명]
# 3. 로그 확인 (결과가 없어야 성공)
grep "CWWKS4001I" messages.log
💡 Tip: server.xml 방식이 관리 포인트 일원화 측면에서 더 유리하므로, 특별한 이유가 없다면 Method A를 추천합니다.