Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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 31
Archives
Today
Total
관리 메뉴

Wisdom기록보관소

SpringBoot Logging을 하자!! 본문

Study!/SpringBoot

SpringBoot Logging을 하자!!

DisCat 2021. 3. 15. 01:22

뭐든 프로그램이 돌아가면서 멈추거나 문제가 생기면 무슨 문제가 생겼는지 아니면 잘 동작하고 있는지 무얼 하고 있는지 기록해야지 후에 수정에 용이 할 것이다. 그냥 아무말이나 적어봤다.

 

 아무튼 이 기록을 하기 위한 설정을 스프링 서버에 적용해보자.

 

일단 자바는 오픈소스 로깅 프레임워크 SLF4J(Simple Loggin Facade for Java)가 있다.

이것은 인터페이스여서 이것을 구현한 구현체들을 원하는 것을 설정해서 사용 하면 되시것다.

포스팅을 보고 기록하는데 각 Logging도 어떻게 구현하느냐에 따라 각 성능이 다른듯 하다. 역시 파일을 쓰고, 지우고 등 관리 하기때문인거 같다. 잡소리는 그만

 

 그럼 사용할 라이브러리 등장.

Logback 이다. 구글 검색하면 제일 많이 나온다. 초보는 따라갑니다...

 

아무튼 설정을 해봅시다.

 

application.yml

logging:
    level:
    #로그 레벨
      root: info
    # 저장하는 파일 경로
    file: 
      name: log/dev_app.log
    
    pattern:
      console: "%d %-5level %logger : %msg%n"
      file: "%d %-5level [%thread] %logger : %msg%n"

설정하는 것은 spring boot에서는 간단하다. 

이전에 사용해볼대는 xml 형식의 파일로 설정해주었는데 안그래도 눈에 안들어오는데 xml형식은 더 싫다.

찾아보니 위 yml 형식으로 설정해주어도 경로, 로깅 형식, 레벨 등등 설정이 다 가능했다. 

어느 깊이까지 출력할것인지 저장하는 파일의 이름, 기록 주기, 최대 저장 기간, 설정도 yml에서 설정이 가능해 보이는데 아직 자세히 찾아보지 못했다. 

 

일단 콘솔 출력 포맷 Layout을 설정하는 문서는 이부분인데 굉장히 많다. 필요한 부분을 그떄끄떄 찾아 쓰자.

logback.qos.ch/manual/layouts.html

 

Chapter 6: Layouts

Chapter 6: Layouts 和訳 (Japanese translation) TCP implementations will follow a general principle of robustness: be conservative in what you do, be liberal in what you accept from others. —JON POSTEL, RFC 793 What is a layout? In case you were wonderi

logback.qos.ch

이 외에도 공식 메뉴얼에 기능들이 적혀있을것인데... 필요한 기능들이 있다면 위 홈페이지를 참고해서 적용시켜봐야겠다.

 

어물쩡 마무리...