。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

업무

log4j2

quarrrter 2024. 1. 28. 10:52

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