728x90
반응형
톰캣 일자별 로그 나누기
Tomcat 서버 운영 중 로그 관리의 중요성을 인식하게 되었습니다. 단일 catalina.out 파일에 모든 로그가 누적되어 관리와 분석에 어려움을 겪었습니다. 이에 로그를 일자별로 분리하여 관리하는 방법을 모색하게 되었습니다. 이 글에서는 Tomcat의 catalina.sh 스크립트를 수정하여 일별 로그 파일을 생성하는 과정과, 이를 통해 얻을 수 있는 이점, 그리고 구현 과정에서 마주친 문제점들을 공유하고자 합니다.
rotatelogs 위치 찾기
rotatelogs란 Apache HTTP Server 프로젝트의 로그 관리 유틸리티로, 로그 파일을 주기적으로 순환(rotate)시키는 기능을 제공합니다. 아래와 같이 rotatelogs 의 위치를 찾습니다.
[root@RC9-19 bin]# find / -name rotatelogs
/usr/local/src/~~?
/usr/local/src/~~?
/usr/local/apache/bin/rotatelogsa
catalina.sh 파일 수정
Tomcat 의 /bin 하위에 있는 catalina.sh 파일을 오픈한다.
vi /usr/local/tomcat/bin/catalina.sh
1 - 1. touch "$CATALINA_OUT" 을 찾아 주석처리한다.
1 - 2 번 주석처리 부분을 대신해 echo "Do not touch $CATALINA_OUT" 를 넣는다
(if문 안에 빈값인 경우 오류발생)
2. 아래 코드를 찾아 "제거" 한다.
"$CATALINA_OUT" 2>&1 "&"
3. 해당 코드를 추가한다.
위에서 찾은 retatelogs 경로를 추가해야한다.
2>&1 "&" | /usr/local/apache/bin/rotatelogs "$CATALINA_OUT".%Y-%m-%d 86400 540 &
결과 확인
톰캣 재기동하면 날짜 별로 생긴다.
트러블 슈팅 공유
아래 코드를 주석 처리하고
>> "$CATALINA_OUT" 2>&1 "&"
아래 코드를 추가하라는 글도 있지만
2>&1 "&" | /usr/local/apache/bin/rotatelogs "$CATALINA_OUT".%Y-%m-%d 86400 540 &
나 같은 경우엔 아래 코드를 주석 처리 했을 경우에는 Tomcat이 백그라운드로 작동하지 않고 포그라운드로 작동해서 당황했다. ( 조심하길 )
# >> "$CATALINA_OUT" 2>&1 "&"
728x90
반응형
'개발중 > Web' 카테고리의 다른 글
intellij 에서 maven install 될 때 generate sources and update folders 자동으로 되게 하는 설정 (0) | 2023.03.17 |
---|---|
톰캣과 아파치의 차이점을 모르고 개발중이었지만 😒 (0) | 2022.09.24 |
WEB Cors 허용 설정 (Vue -> API) (2) | 2022.05.13 |
비동기와 동기에 대해서 알아보기 - 예시 🙌 (1) | 2022.04.15 |
테스트 DB 와 운영 DB 관리 하는 법 (0) | 2021.10.05 |