티스토리 뷰
🚀Tomcat 로그 종류
tomcat9는 기본적으로 6가지의 로그를 생성해준다.
지금까지 내가 사용한 로그는 catalina.out 뿐이었는데, 이번에 3년지난 로그를 지우면서 톰캣로그에 대해서 자세히 알아보기로 했다.
1. catalina.out
Tomcat 기동 시 /bin/catalina.sh 에 의해 생성되는 로그 파일
콘솔에 표시되는 모든 것을 기록한다. (톰캣에 의해 생성되는 로그, DB로그 등등)
2. catalina.yyyy-mm-dd.log
톰캣에 의해 생성되는 로그만 기록
Standard output(표준 스트림), Standard error(표준 에러)의 로깅은 제외
단순히 catalina.out을 일별로 나누어놓은 파일이라고 생각했는데 아니었다.
1과 2를 동일한 기준으로 로그를 확인해보면 (왼 : catalina.out 오 : catalina.yyyy-mm-dd.log) 차이점을 알 수 있다.
catalina.out
에는 서버에서 일어나는 일들을 모두 기록하여 웹소켓 로그가 기록되었지만, catalina.yyyy-mm-dd.log
은 톰캣에 의해 생성되는 로그만 기록되어 있는 것을 확인 해 볼 수 있다.
3. host-manager.log
Tomcat Host Manager Web app 로그 (가상 호스트 매니저)
- 로그는 생겼으나 기록된 내용이 없어서 정확히 무엇을 기록하는지 잘 모르겠다.
4. manager.log
Tomcat Manager Web App 로그 (웹콘솔)
- 로그는 생겼으나 기록된 내용이 없어서 정확히 무엇을 기록하는지 잘 모르겠다.
5. localhost.log
host (특정 가상 호스트 대상) 한정 로그
톰캣을 종료할 때와, 톰캣 시작시 로그를 기록한다.
6. localhost_access_log.yyyy-mm-dd.txt
어느 host에서 언제, 어떤 방식으로 데이터 요청했는지 기록
어떤 IP를 가진 사용자가 몇시에 어떤 자원(url)을 어떤 방식으로(GET/POST)방식으로 했는지와 요청에 대한 응답 상태코드가 기록된다.
🔎톰캣 로그 안생기게 하기
catalina.out나 localhost_access_log.yyyy-mm-dd.txt 는 유용하나 아무 내용도 없는 host-manager.log 와 manager.log는 굳이 쌓을 필요가 없을 것 같아 아예 생성이 되지 않게 하려고 한다.
그 때 확인 해야 하는 곳은 /tomcat/conf/logging.properties이다.
파일을 열어보면
vi /tomcat/conf/logging.properties
아래와 같이 로그 관련된 설정이 있다.
여기서 안생기게 하고 싶은 로그 관련 설정을 주석처리 하거나, 지워주면 된다.
나는 주석으로 처리했다.
#3manager.org.apache.juli.AsyncFileHandler.level = FINE
#3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
#3manager.org.apache.juli.AsyncFileHandler.prefix = manager.
#4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
#4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
#4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
주석 처리 후 톰캣을 재기동해보면, manager와 host-manager 로그는 더 이상 생성되지 않는 것을 확인 할 수 있다.
ls -al /tomcat/logs/
🚀 3년 지난 tomcat 로그 삭제하기
1. 쉘 스크립트 파일 생성
위치 및 파일 이름은 어떻게 하든 상관이 없다.
나는 /tomcat 하위의 logs 폴더에 delete라는 이름으로 쉘파일을 생성 해 줄 것이다.
vi /tomcat/logs/delete.sh
그리고 아래처럼 작성해주면 된다.
*mtime 은 modification time으로 수정날짜를 의미한다.
*mtime은 까다로운 옵션이므로 사용하기 전에 사용법을 숙지하는것이 좋다.
#!/bin/bash
//수정날짜 기준 현재로부터 3년(1095일)이 지난 로그 중 이름이 catalina로 시작하는 모든 파일을 삭제
find /tomcat/logs/ -mtime +1095 -name catalina\* -exec rm {} \;
find /tomcat/logs/ -mtime +1095 -name localhost\* -exec rm {} \;
find /tomcat/logs/ -mtime +1095 -name manager\* -exec rm {} \;
find /tomcat/logs/ -mtime +1095 -name host-manager\* -exec rm {} \;
2. crontab 등록
crontab -e
위 명령어를 입력하면 작성 할 수 있는 파일이 열린다.
매일 새벽 1시에 쉘파일을 실행시킨다.
0 1 * * * /tomcat/logs/delete.sh
'백엔드 > Tomcat' 카테고리의 다른 글
[Tomcat/톰캣] 톰캣 디렉토리 구조 보기/톰캣 디렉토리 구조 안보이게 설정하기 (0) | 2023.06.23 |
---|---|
[Tomcat/톰캣] /접속시 contextPath로 자동연결하기(localhost:8080 -> localhost:8080/test) | contextPath 설정하기 | server.xml (0) | 2023.06.23 |
[Tomcat/톰캣] -DeaiConfigRoot 옵션으로 tomcat 설정 파일 위치 지정하기 (0) | 2023.05.16 |
[tomcat/톰캣] http -> https로 자동 리다이렉트 시키기 (0) | 2023.01.16 |
[Tomcat/톰캣]실행오류 : java.net.SocketException: Permission denied (0) | 2022.10.20 |
- Total
- Today
- Yesterday
- 자바스크립트
- 쿠버네티스
- centos
- springboot
- 현대코테
- 자바
- Spring
- 코테
- javascript
- 자바코테
- softeer
- Linux
- java 코테
- 전자정부프레임워크
- 도커
- 오토에버코테
- Kubernetes
- java
- 코딩테스트
- tomcat
- 스프링
- 톰캣
- mysql
- Docker
- react
- 현대오토에버
- 아파치카프카
- 리액트
- softeer java
- 현대
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |