728x90
실제 애플리케이션에서는 유지관리를 위해 웹 사이트에 접속한 사용자 정보나 각 클래스의 메서드 호출 시각 등 여러 가지 정보를 파일로 저장해서 관리한다. 이런 로그 관련 기능을 제공하는 것이 log4j이다.
log4j 기능은 독립적으로 라이브러리를 설치해서 사용할 수 있으며, 메이븐 같은 빌드 툴에서는 프로젝트 생성 시 자동으로 log4j 라이브러리가 설치된다.
log4j.xml을 이루는 태그
태그 | 설명 |
<appender> | 로그의 출력 위치(파일, 콘솔, DB등)를 결정합니다. |
<layout> | appender가 어디에 출력할 것인지에 대한 태그였다면 layout은 어떤 형식으로 로그를 출력할지 정해줍니다. |
<logger> | 로깅 메시지를 appender에 전달합니다. logger는 6단계의 레벨을 가지며, 레벨을 가지고 출력여부를 결정합니다. |
여러 가지 Appender 클래스
appender 클래스 | 설명 |
ConsoleAppender | org.apache.log4j.ConsoleAppender 클래스로, 콘솔에 로그 메시지를 출력합니다. |
FileAppender | org.apache.log4j.FileAppender 클래스로, 파일에 로그 메시지를 출력합니다. |
RollingFileAppender | org.apache.log4j.rolling.RollingFileAppender 클래스로, 파일 크기가 일정 기준을 넘으면 기존 파일을 백업 파일로 바꾸로 처음부터 로그를 기록합니다. |
DailyRollingAppender | org.apache.log4j.rolling.DailyRollingFileAppender 클래스로, 설정한 기간 단위로 새 파일을 만들어 로그 메시지를 기록합니다. |
PatternLayout 클래스에서 사용되는 여러 가지 출력 속성들
속성 | 설명 |
%F | 로깅이 발생한 프로그램 파일 이름 출력 |
%l | 로깅이 발생한 caller의 정보 출력 |
%L | 로깅이 발생한 caller의 라인 수 출력 |
%M | 로깅이 발생한 method 이름 출력 |
%c | 로깅 메시지 앞에 전체 패키지 이름이나 전체 파일 이름 출력 |
log4j의 여러 가지 로그 레벨들
레벨 | 설명 |
FATAL(6레벨) | 시스템 차원에서 심각한 문제가 발생했을 때의 레벨입니다. |
ERROR | 실행 중 문제가 발생한 상태를 나타냅니다. |
WARN | 시스템 오류의 원인이 될 수 있는 메시지를 나타냅니다. |
INFO | 로그인, 상태 변경과 같은 실제 애플리케이션 운영과 관련된 정보를 출력합니다. |
DEBUG | 개발 시 디버깅 용도로 사용한 메시지를 나타냅니다. |
TRACE(1단계) | DEBUG보다 상세한 로깅 정보를 출력합니다. |
더 자세한 내용은 log4j 홈페이지를 참고하자
https://logging.apache.org/log4j/2.x/index.html
Log4j – Apache Log4j™ 2
<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apa
logging.apache.org
728x90
'💻 Web_Back end > Spring' 카테고리의 다른 글
타일즈(tiles)란? (0) | 2023.05.28 |
---|---|
스프링 애너테이션 기능 (0) | 2023.05.22 |
스프링 트랜잭션 기능 (0) | 2023.05.22 |
스프링 JDBC 기능 (0) | 2023.05.16 |
스프링 MVC 기능 (0) | 2023.05.07 |