-
[Spring] AWS EC2에서 Spring Access log, logger log 저장하는 법Server/Spring 2021. 12. 9. 19:57728x90반응형
Spring 실시간 로그, 엑세스 로그 확인하는 법
이번 글에서는
Spring Boot
를AWS EC2 Linux2
에 배포했을 때 실시간으로 로그가 찍히는 것을 확인할 수 있는 방법과 엑세스 로그를 확인하는 법에 대해서 공유해보려 합니다. 실시간 로그 보는 방법은 여러가지가 있겠지만 제가 생각하기에 괜찮다 싶은 방법입니다.이번 글은 이미
jar
파일이AWS EC2
에 있다고 가정하고 작성하겠습니다. 만약jar
를EC2
에 올리는 법이 궁금하시다면 여기 를 보고 오셔도 좋을 거 같습니다.jar 실시간 로그 볼 수 있도록 실행하기
nohup java -jar /home/ec2-user/*.jar --logging.file.path=/home/ec2-user/ --logging.level.org.hibernate.SQL=DEBUG >> /home/ec2-user/deploy.log 2>/home/ec2-user/deploy_err.log &
현재
EC2
에jar
파일이 존재하는 상황이라면 위와 같이 각자에 맞는 경로를 정해서 실행하면 됩니다.logging.file.path
: 로그들이 저장된 파일의 경로를 저장하는 곳입니다.jar
를 실행하면 해당 경로에spring.log
가 자동으로 생깁니다.logging.level.org.hibernate.SQL
: 로깅 레벨은 상황에 따라 다르겠지만, 저는DEBUG
모드로 실행하였습니다.
위의 명령어를 실행하면 위처럼
spring.log
가 자동으로 생긴 것을 볼 수 있습니다.tail -f spring.log
위의 명령어를 통해서 로그를 본 상태에서 해당
jar
가 가진Error
가 날 수 있는 상황으로 요청을 보내보겠습니다.그래서 저는 위처럼
예제 로그인 API에서 비밀번호가 틀리는 상황
을 가정하고 에러를 발생시켰습니다.그러면 위와 같이 실시간으로 로그들이 찍히는 것을 볼 수 있고, 실시간으로 보고 있지 않더라도 나중에 어떤 에러인지 잘 모르겠을 때
spring.log
를 확인해서 어떤 에러가 발생했는지 좀 더 명확하게 알 수 있습니다.엑세스 로그 확인하는 법
이번에는 명령어 양이 많다 보니
Shell Script
로 만들어서 실행시키겠습니다.JAVA_OPTS="${JAVA_OPTS} -Dserver.tomcat.accesslog.enabled=true" JAVA_OPTS="${JAVA_OPTS} -Dserver.tomcat.basedir=." nohup java ${JAVA_OPTS} -jar /home/ec2-user/*.jar --logging.file.path=/home/ec2-user/ --logging.level.org.hibernate.SQL=DEBUG >> /home/ec2-user/deploy.log 2>/home/ec2-user/deploy_err.log &
위처럼
JAVA_OPTS
를 통해서tomcat accesslog를 활성화
하고 해당access.log
가 저장되는디렉토리
를 지정해주면 됩니다.그리고 위의 셸 스크립트를 실행하면
logs
디렉토리가 생긴 것을 볼 수 있습니다.access_log.2021-12-09.log
그러면 이런식으로 날짜별로log
파일이 자동으로 만들어집니다.tail -f logs/access_log.2021-12-09.log
위의 명령어로 확인해보면
access
기록이 남을 때마다 해당 파일에 로그가 남는 것을 확인할 수 있습니다.반응형'Server > Spring' 카테고리의 다른 글
[JPA] @OneToOne 관계에서 N + 1 발생하는 이유가 무엇일까? (4) 2022.06.04 [Spring] Spring Security, React를 사용하면서 CORS 허용하는 방법 (0) 2021.12.23 [Spring] 스프링에서 의존성 주입을 하는 3가지 방법 (0) 2021.11.29 [Spring] Transactional Propagation 정리하기 (3) 2021.11.28 [Spring] Test에서 public이 아닌 필드 Reflection 으로 값 넣어주는 법 (0) 2021.11.26