- 실제 애플리케이션에서는 유지관리를 위해 웹 사이트에 접속한 사용자 정보나 각 클래스의 메서드 호출 시각 등 여러가지 정보를 파일로 저장해서 관리한다.
- 해당 로그 관련 기능을 제공하는것이 log4j이다.
- log4j 기능 관련 설정은 log4j.xml 파일에서 수행한다.
- log4j.xml을 이루는 태그
-
태그 설명 <Appender> 로그의 출력 위치를 결정(파일, 콘솔, DB등)한다.
log4j의 XXXAppender로 끝나는 클래스들의 이름을 보면 출력 위치를 알 수 있다.<Layout> Appender가 어디에 출력할 것 인지 결정 했다면 어떤 형식으로 출력 할 지 출력 레이아웃을 결정 <Logger> 로깅 메시지를 Appender에 전달한다.
개발자가 로그레벨을 이용해 로그 출력 여부를 조정 할 수 있다.
logger는 로그 레벨을 가지고 있으며, 로그의 출력 여부는 로그문의 레벨과 로거의 레벨을 가지고 결정한다. - <Appender> 태그
- 콘솔로 출력할지, 파일로 출력할지와 출력 위치를 설정
- <Layout> 태그
- 어떤 형식으로 출력할지 출력 레이아웃을 결정
- <Logger> 태그
- logger는 로그 레벨을 가지고 있으며, 로그 출력 여부는 로그문의 레벨과 로거의 레벨을 가지고 결정
- Appender 클래스
-
Appender 클래스 설명 ConsoleAppender org.apache.log4j.ConsoleAppender 클래스로, 콘솔에 로그 메시지를 출력 FileAppender org.apache.log4j.fileAppender 클래스로 파일에 로그 메시지를 출력 RollingFileAppender org.apache.log4j.rolling.RollingFileAppender 클래스로, 파일 크기가 일정 기준을 넘으면 기존 파일을 백업 파일로 바꾸고 처음부터 다시 기록 DailyRollingAppender org.apache.log4j.DailyRollingFileAppender 클래스로, 설정한 기간 단위로 새 파일을 만들어 로그 메시지를 기록
-
- PatternLayout 클래스의 출력 형식을 지정하는 속성
-
속성 설명 %p debug, info, error, fatal 등 로그 레벨 이름 출력 %m 로그 메시지 출력 %d 로깅 이벤트 발생 시각 출력 %F 로깅이 발생한 프로그램 파일 이름 출력 %l 로깅이 발생한 caller의 라인 수 출력 %M 로깅이 발생한 method 이름 출력 %c 로깅 메시지 앞에 전체 패키지 이름이나 전체 파일 이름 출력
-
- log4j 레벨
-
레벨 설명 FATAL 시스템 차원에서 심각한 문제가 발생해 애플리케이션 작동이 불가능할 경우에 해당하는 레벨.(일반적으로 애플리케이션에서는 사용 할 일이 없음.) ERROR 실행 중 문제가 발생한 상태를 나타냄 WARN 향후 시스템 오류의 원인이 될 수 있는 경고메시지를 나타냄 INFO 로그인, 상태 변경과 같은 실제 애플리케이션 운영과 관련된 정보 메시지를 나타냄 DEBUG 개발시 디버깅 용도로 사용한 메시지를 나타냄 TRACE DEBUG 레벨보다 상세한 로깅 정보를 출력하기 위해 도입된 레벨
-
'Spring' 카테고리의 다른 글
log4j 로그 메세지 출력 (0) | 2021.12.09 |
---|---|
메이븐 프로젝트의 구조와 구성 요소 (0) | 2021.12.08 |
@Autowired 이용한 빈 주입 방법 (0) | 2021.12.03 |
@RequestParam 어노테이션 (0) | 2021.12.02 |
Spring 애너테이션 (0) | 2021.12.01 |