log for java
로깅 시스템 설정하기 & 설정위치
1) Maven 라이브러리 추가
2) log4j2.xml 파일 생성
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="debug">
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-MM-dd hh:mm:ss} %6p [%c] %m%n"/>
</Console>
</Appenders>
<loggers>
<root level="debug" additivity="true">
<AppenderRef ref="console"/>
</root>
</loggers>
</configuration>
<Appenders> 실질적인 로그 설정 코드
<Console> : 현재 콘솔에 로그 출력,
<PatternLayout> : 로그로 찍히는 패턴 설정
%d: 로그 시간에 관한 설정, 괄호 안의 형태로 포맷
%p: 로그 레벨, %c: 로그가 발생한 클래스 경로, %m: 로그 메시지, %n은 개행(줄 바꿈)
<loggers>: 설정한 로그 코드 적용
<root> :현재 시스템에서 발생하는 모든 로그를 찍어낼 수 있고
level을 debug로 설정하여 debug 이상의 로그만 출력되도록 한다.
- 로그 레벨은 로깅 시스템의 설정을 통해 지정하며, 설정된 로그 레벨 이상의 중요도를 가진 로그 메시지만 기록된다.
- 로그 레벨을 'DEBUG'로 설정하면 'TRACE'보다 중요한 'DEBUG', 'INFO', 'WARN', 'ERROR', 'FATAL' 로그 메시지가 기록되지만, 'TRACE' 수준의 로그는 기록되지 않는다.
로그 레벨(Log level)
- 로그 레벨(Log Level)은 로그 메시지의 중요도를 나타내는 수준을 의미한다.
- 로그 레벨은 로깅 시스템에서 사용되며, 로그 메시지의 중요도에 따라 해당 메시지를 기록할지 결정하는 데 사용된다.
로그레벨
FATAL > ERROR > WARN > INFO > DEBUG > TRACE
1) TRACE
- 가장 상세한 로그 레벨로, 애플리케이션의 실행 흐름과 디버깅 정보를 상세히 기록한다. 주로 디버깅 시에 사용된다.
2) DEBUG
- 디버깅 목적으로 사용되며, 개발 단계에서 상세한 정보를 기록한다.
- 애플리케이션의 내부 동작을 이해하고 문제를 분석하는 데 도움을 준다.
3) INFO
- 정보성 메시지를 기록한다.
- 애플리케이션의 주요 이벤트나 실행 상태에 대한 정보를 전달한다.
4) WARN
- 경고성 메시지를 기록한다.
- 예상치 못한 문제나 잠재적인 오류 상황을 알리는 메시지이다.
- 애플리케이션이 정상적으로 동작하지만 주의가 필요한 상황을 알려준다.
- WARN에서도 2가지의 부분에선 종료가 일어난다.
- 명확한 문제 : 현재 데이터를 사용 불가, 캐시값 사용 등
- 잠재적 문제 : 개발 모드로 프로그램 시작, 관리자 콘솔 비밀번호가 보호되지 않고 접속 등
5) ERROR
- 오류 메시지를 기록한다.
- 심각한 문제 또는 예외 상황을 나타내며, 애플리케이션의 정상적인 동작에 영향을 미칠 수 있는 문제를 알린다.
6) FATAL
- 가장 심각한 오류 메시지를 기록한다.
- 애플리케이션의 동작을 중단시킬 수 있는 치명적인 오류를 나타낸다.
- 일반적으로 이러한 오류는 복구가 불가능하거나 매우 어려운 상황을 의미한다.
quartz?
'업무' 카테고리의 다른 글
.val() (0) | 2024.02.13 |
---|---|
Model, Request (2) | 2024.02.02 |
mybatis 개발 (1) | 2024.01.26 |
[MyBatis] #{}과 ${} (1) | 2024.01.24 |
마이바티스 문법 모음 (0) | 2024.01.23 |