반응형
로그 레벨
`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`: 개행 문자
- `<pattern>`: 로그 메시지의 형식을 지정.
- `<root>`: 루트 로거를 정의하며, 애플리케이션 전체의 기본 로그 레벨과 appender를 설정.
- `level="DEBUG"`: 루트 로거의 로그 레벨을 DEBUG로 설정.
- `<appender-ref ref="STDOUT" />`: `STDOUT` appender를 루트 로거에 연결.
아래 링크에서 더 자세한 내용을 통해 사용자 편의에 맞게 커스텀할 수 있다.
728x90
반응형
'Backend > Spring' 카테고리의 다른 글
[Spring Boot] 싱글톤 컨테이너(Singleton Container) (0) | 2024.12.30 |
---|---|
[Spring Boot] Test Code 작성하기 (0) | 2024.12.17 |
[Spring Boot] Application 클래스 (@SpringBootApplication) (0) | 2024.12.16 |