본문 바로가기
IT/Java

LOG 란?

by 성준하이 2023. 2. 5.
반응형
로그란?

모든 행위와 이벤트 정보를

시간의 경과에 따라 기록한 데이터

 

시스템 상에서 "로그" 를 생성하는 과정을

"로깅(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

 

log4j 란?

얼마전에 세계적으로 취약점으로 알려진 log4j 라고 들어보신 분들이 많을것이고 it에서 종사하시는 분들이라면 기업에서도 실제로 대응한 경험이 있을 것이다. 간단하게 설명하며 어떤 놈이길

thenicesj.tistory.com

 

반응형

댓글