[Spring] 로그 레벨 설정

2024. 12. 31. 11:31·Backend/Spring
반응형

로그 레벨

`TRACE` > `DEBUG` > `INFO` > `WARN` > `ERROR` > FATAL`

위에서 왼쪽의 레벨일수록 상세한 정보를 포함한다.

  • TRACE: 가장 낮은 로그 레벨. 매우 상세함. 주로 개발 및 디버깅 용도로 사용.
  • DEBUG: 디버깅 목적으로 사용. 애플리케이션의 흐름을 파악하는 데 유용한 정보를 출력.
  • INFO: 일반적인 정보를 출력. 애플리케이션의 상태나 주요 이벤트를 기록하는 데 사용.
  • WARN: 경고 메시지를 출력. 애플리케이션이 정상적으로 동작하지만, 잠재적인 문제를 나타낼 때 사용.
  • ERROR: 오류 메시지를 출력. 애플리케이션이 정상적으로 동작하지 않는 경우 사용.
  • FATAL: 치명적인 오류 출력. 주로 시스템이 더 이상 동작하지 않을 정도의 심각한 문제를 나타낼 때 사용.

 

 

로그 레벨 설정하기

`properties` 파일로 설정

application.properties 파일에서 로그레벨은 설정 밥은 다음과 같다

# 전체 애플리케이션의 로그 레벨 설정
logging.level.root=INFO

# 특정 패키지의 로그 레벨 설정
logging.level.com.example=DEBUG

 

`yml` 파일로 설정

application.yml 파일에서 로그레벨 설정 방법은 다음과 같다.

logging:
  level:
    root: INFO
    com.example: DEBUG

 

 

 

로그 설정 커스텀 (logback.xml)

<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>
                %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%kvp%msg%n
            </pattern>
        </encoder>
    </appender>

    <root level="DEBUG">
        <appender-ref ref="STDOUT" />
    </root>
</configuration>

위는 기본 logback.xml 파일 예시로 각 태그요소들을 설명하면 다음과 같다.

  • `<configuration>`: Logback 설정의 루트 요소.
  • `<appender>`: 로그를 출력할 대상을 정의하는 요소.
    • `name="STDOUT"`: 이 appender의 이름을 `STDOUT`으로 지정하겠다.
    • `class="ch.qos.logback.core.ConsoleAppender"`: 콘솔에 로그를 출력하는 appender이다..
  • `<encoder>`: 로그 메시지의 출력 형식을 지정하는 요소.
    • `<pattern>`: 로그 메시지의 형식을 지정.
      • `%d{HH:mm:ss.SSS}`: 로그 출력 시간(시:분:초.밀리초)
      • `[%thread]`: 로그를 출력한 스레드 이름
      • `%-5level`: 로그 레벨 (INFO, DEBUG 등)
      • `%logger{36}`: 로거 이름 (최대 36자)
      • `%kvp`: 키-값 쌍을 출력하는 패턴 변환자 (Logback 1.3.0 이상에서 사용 가능)
      • `%msg`: 로그 메시지
      • `%n`: 개행 문자
  • `<root>`: 루트 로거를 정의하며, 애플리케이션 전체의 기본 로그 레벨과 appender를 설정.
    • `level="DEBUG"`: 루트 로거의 로그 레벨을 DEBUG로 설정.
    • `<appender-ref ref="STDOUT" />`: `STDOUT` appender를 루트 로거에 연결.

아래 링크에서 더 자세한 내용을 통해 사용자 편의에 맞게 커스텀할 수 있다.

Logback 커스텀 공식문서

 

Logging :: Spring Boot

By default, Spring Boot logs only to the console and does not write log files. If you want to write log files in addition to the console output, you need to set a logging.file.name or logging.file.path property (for example, in your application.properties)

docs.spring.io

 

 

 

728x90
반응형

'Backend > Spring' 카테고리의 다른 글

[Spring Boot] Embedded Redis 추가하기 (Mac 해결책)  (0) 2025.02.25
[Spring Boot] 싱글톤 컨테이너(Singleton Container)  (0) 2024.12.30
[Spring Boot] Test Code 작성하기  (0) 2024.12.17
[Spring Boot] Application 클래스 (@SpringBootApplication)  (0) 2024.12.16
'Backend/Spring' 카테고리의 다른 글
  • [Spring Boot] Embedded Redis 추가하기 (Mac 해결책)
  • [Spring Boot] 싱글톤 컨테이너(Singleton Container)
  • [Spring Boot] Test Code 작성하기
  • [Spring Boot] Application 클래스 (@SpringBootApplication)
settong
settong
    250x250
  • settong
    개 발 자 국
    settong
  • 전체
    오늘
    어제
    • 전체보기 (202)
      • Computer Science (50)
        • Network (7)
        • Operating System (18)
        • Data Structure (9)
        • Database (11)
        • Algorithm (5)
      • Language (17)
        • Java (17)
        • Javascript (0)
        • Python (0)
      • Devops (20)
        • AWS (0)
        • Naver Cloud (16)
        • CICD (3)
        • 웹 서버 관리 (1)
      • Front (0)
        • React (0)
      • Backend (5)
        • Spring (5)
      • 코딩 테스트 정복기 (110)
        • 백준 (51)
        • 프로그래머스 (53)
        • 기타 (6)
      • etc (0)
      • 경제 상식 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    분할정복
    github actions
    집합
    완전탐색
    해시
    Spring Boot
    DFS
    lcs
    Network
    다익스트라
    ncp200
    프로그래머스
    백트래킹
    백준
    다이나믹프로그래밍
    ncp202
    ncp
    벨만포드
    BFS
    CI/CD
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
settong
[Spring] 로그 레벨 설정
상단으로

티스토리툴바