반응형
로그란?
모든 행위와 이벤트 정보를
시간의 경과에 따라 기록한 데이터
시스템 상에서 "로그" 를 생성하는 과정을
"로깅(Logging)"
이라고 한다.
로깅(logging)의 장점
개발 프로그램의 디버깅
예기치 못한 문제의 원인 파악
시스템 및 사용자의 동작 패턴 분석
해킹(침입)의 비정상 동작의 기록을 감지
분석을 통한 통계화
즉, 모든 것을 기록하고 분석하여 예측하게 해주는 장치라고 할 수 있다.
로깅 라이브러리 종류
로깅 라이브러리는 프로그램을 실행하는 도중에 로그를 남기기 위해 사용되는 유틸리티이다.
- java.util.logging (jdk8)
JDK에 내장된 기본 로깅 라이브러리.
JDK 1.4부터 포함된 표준 로깅 API - Apache Commons logging
Apache 재단의 Commons 라이브러리 중에 로그 출력을 제공하는 라이브러리 - log4j
Aapache 재단에서 만든 log4j는 2001년에 처음 릴리즈된 자바의 로깅 라이브러리이다.
가장 널리 사용되는 로깅 라이브러리이고 아래 참고 포스팅에 관련 글도 추가한다. - Logback
Log4j를 개발한 Ceki Gulcu가 Log4j의 단점 개선 및 기능을 추가하여 개발한 로깅라이브러리
로그 설정
설정 파일은 "log4j.properties"이다.
LogManager는 CLASSPATH 또는 프로젝트 root 디렉토리에 지정해야 "log4j.properties"를 읽을 수있다.
Level, Appender, Layout등을 설정한다.
# log4j.properties 파일
# 대부분 로그파일은 어떤 프로그램에서 사용하는 환경변수에 맞춰 경로를 지정한다.
# 그래서 미리 경로를 지정해주어 사용한다.
log = ${user.home}/log
###################### Logger ###############################
# rootLogger(최상위 로거)를 통해 로그레벨로 "DEBUG"를 지정.
# 최상위 로그 이름 "FILE1", "FILE2"로 지정.(다수 가능)
log4j.rootLoger = DEBUG, FILE1, FILE2
# 하위 로거 지정
log4j.logger.name.of.the.package.one=INFO console
# 로그 이름 따라 로그레벨을 따로 지정 가능
log4j.appender.console.Threshold = INFO
###################### Appender ##############################
# Appender 지정
## Appender 클래스 지정
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
## 출력 파일지정(대부분 절대경로 지정)
log4j.appender.FILE.File=output.log
## 날짜 패턴 추가
log4j.appender.FILE.DatePattern='.'yyyyMMDD
## WAS 재시작시 로그파일 새로 생성 여부(true: 기존파일에 추가, false: 파일 새로 생성)
log4j.appender.FILE.Append=true
## 최대크기
log4j.appender.FILE.MaxFileSize=1KB
## 파일크기 초과시 백업
log4j.appender.FILE.MaxBackupIndex=1
## Console용 클래스 지정
log4j.appender.console=org.apache.log4j.ConsoleAppender
###################### Layout ##############################
# Layout 지정
## FILE1 Layout 클래스 지정
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
## Layout 패턴 지정
log4j.appdender.FILE.ConversionPattern=[%d{HH:MM:ss}] [%-5p] (%F: %L) -%m%n
## console Layout 클래스 지정
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
## Layout 패턴 지정
log4j.appdender.FILE.ConversionPattern=%-5p%l -%m%n
참고 포스팅
https://thenicesj.tistory.com/69
반응형
'IT > Java' 카테고리의 다른 글
자바 Timestamp / Date / LocalDate 에서 현재 시간 구하는 방법 (4) | 2023.02.09 |
---|---|
[Java] 리스트 내 요소 중복 체크 (9) | 2023.02.06 |
spring data jpa의 @Query nativeQuery의 IN 절 처리 (7) | 2023.02.03 |
openfeign 이란? (23) | 2023.01.29 |
java eclipse 에서 에러(The method METHOD is undefined for the type ) (9) | 2023.01.27 |
댓글