PlayGround/마실가실 리팩토링

[1년 후 마실가실] 로그 설정

HJ0216 2024. 10. 3. 18:57

1년 전 진행했던 마실가실 프로젝트를 🛠️리팩토링하며 정리한 내용입니다.

 

 

System.out.println의 시대는 가라!

log.info의 시대여 오라!

 

누가 누가 api로 무얼했나를 몰래 시켜보고자 log를 추가하였습니다.

 

아직 환경이 나누어져 있지 않아서, 추후 local, dev, prod 등으로 환경을 구분하여 log 파일 설정도 발전시켜보면 좋을 것 같습니다⭐!

 

 

logback-spring.xml

resources 폴더에 추가

 

* Color 설정

  * %색상(log 정보) 기재

  * 지원 색상: " %black", "%red", "%green", "%yellow", "%blue", "%magenta", "%cyan", "%white", "%gray", "%boldRed", "%boldGreen", "%boldYellow", "%boldBlue", "%boldMagenta", "%boldCyan", "%boldWhite" and "%highlight"

  * Log를 파일로 출력할 경우,

' ESC[32m '와 같은 글자가 나타나는데 이는 색깔을 나타내기 위한 이스케이프 문자임    파일의 경우에는 색상을 적용하지 않는 패턴을 별도 분리

 

* ConsoleAppender  * Log를 Console에 출력할 경우에 대한 설정

 

* RollingFileAppender  * FileAppender와 마찬가지로 파일에 Log를 출력할 경우 사용하는 appender  * FileAppender와 달리 로그를 여러 파일에 나눠서 작성

* SizeAndTimeBasedRollingPolicy

  * RollingPolicy 설정

  * 파일 이름, 최대 파일 크기(해당 크기가 넘어가면 다른 로그 파일이 생성), 최대 보관 일자

 

UserService.java

* @Slf4j 추가

  * private static final Logger log = LoggerFactory.getLogger(UserService.class);

  * 필요한 곳에 log 설정

    * log 단계

      * TRACE
          * 주로 개발 단계에서 사용
          *  성능 문제를 추적하거나 복잡한 코드의 실행 흐름을 확인할 때 적합
        *  DEBUG
          *  주로 개발 및 테스트 환경에서 사용
          *  개발 및 디버깅을 위해 사용
        *  INFO
          *  주로 운영 환경에서 사용
          *  중요한 이벤트나 시스템 상태 변경(예: 서버 시작, 사용자 로그인)을 기록
          *  프로그램의 주요 흐름을 파악할 때 사용
        * WARN
          *  주로 운영 환경에서 사용
          *  예상치 못한 상황이나 주의가 필요한 상황을 기록
          *  오류는 아니지만, 문제가 발생할 수 있음을 경고

        *  ERROR
          *  주로 운영 환경에서 사용
          *  예외가 발생하거나 시스템이 중단되는 등 심각한 문제를 기록
          *  오류로 인해 서비스의 정상적인 동작이 불가능할 경우 사용

 

 

 

+ Code Style을 자동으로 적용하도록 했는데, xml에서 길이가 길어지니 자동 줄바꿈을 해서 저장하는 문제가 있었습니다.

IntelliJ 기준 Settings - Editor - Code Style - Formatter 탭

Do not Formatter에 특정 파일을 추가할 수 있습니다.

 

https://hj0216.tistory.com/954

 

[1년 후 마실가실] 쉬어가는 마실가실 - Code Style

1년 전 진행했던 마실가실 프로젝트를 🛠️리팩토링하며 정리한 내용입니다. 오늘은 잔망과 루피의 이름으로 다른 코드 스타일을 용서하지 않을 예정입니다. 여러명이서 진행한 프로젝트인

hj0216.tistory.com

 

 

🙋‍♀️

본 포스트는 공부 목적으로 작성하였습니다.
보시는 도중 잘못된 부분이나 개선할 부분이 있다면 댓글로 알려주시면 수정하도록 하겠습니다.

 

📑

참고 자료

https://breakcoding.tistory.com/400

 

[Spring] logback 파헤치기 (로그 레벨 설정, 프로필별 로그 설정, 글자 색상 변경)

안녕하세요 오늘은 logback을 통해 로그를 관리하는 방법을 알아보겠습니다. 목차 - 로그 색상 바꾸기 - 프로필에 따라 로그 레벨 다르게 설정하기 - 로그 파일을 분할해서 저장하기 - JPA SQL을 로그

breakcoding.tistory.com

https://goddaehee.tistory.com/206

 

[스프링부트 (5)] Spring Boot 로그 설정(1) - Logback

[스프링부트 (5)] Spring Boot Log 설정(1) - Logback 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 스프링 부트 Log 설정 - 로그백] 입니다. : -) 1. Logback 이란? 특징? - 자바 오픈소스 로깅 프레임워크, SLF4J의

goddaehee.tistory.com

https://parkstate.tistory.com/31

 

Spring Boot - SLF4J로 Log남기기

SLF4J란? Simple Logging Facade 4 Java(간단한 자바를 위한 로깅 파사드) SLF4J는 다양한 로깅 프레임워크에 대한 인터페이스 모음입니다. SLF4J는 많은 로깅 프레임워크를 하나의 방식으로 사용할 수 있는

parkstate.tistory.com