-
[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