프로그램작성시 로그를 남기는 목적으로 만든 프레임워크.
기본은 log4j.jar파일이 있고
확장파일로는 jdbcappender.jar와 ojdbc14.zip파일등이 있다.
log4j configuration 파일 설정하기
root looger설정
log4j.rootLogger=INFO(로그레벨), console, filelog, dblog(형식)
로그레벨을 설정하고 뒤에 root appender를 설정한다. console(화면출력), filelog,dblog
log level은 debug,info,warn,error,fatal로 구성되고 debug제외 모든 로그가 기록된다.
① FATAL : 가장 크리티컬한 에러가 일어 났을 때 사용합니다. 하위
② ERROR : 일반 에러가 일어 났을 때 사용합니다.
③ WARN : 에러는 아니지만 주의할 필요가 있을 때 사용합니다. 1,2,3
④ INFO : 일반 정보를 나타낼 때 사용합니다. 1,2,3,4나타냄
⑤ DEBUG : 일반 정보를 상세히 나타낼 때 사용합니다. 최상위 모두1,2,3,4,5를 모두 나타낸다
그렇지만 예외적으로 선택적 패키지별로 로그를 사용할수 있다. 이것은
# package logging setting
log4j.logger.com.test(패키지명)=FATAL,logfile 이렇게 해주면 된다.
layout타입 : patternlayout
%p : debug,info 로그타입
%d : 로그발생시간 (%d{yyyy-MM-dd HH:mm:ss})
%t :로그 쓰레드 이름
%F: 로그 발생 프로그램 파일명(%F{파일명}
%M : 로그 발생메소드명
%r : 프로그램 시작후 로그 발생까지 시간
%m : 로그로 전달된 메세지
%n: 개행
%L 호출 코드 라인
참조한거다 다른 분이 올린거..
[%c] [%C] [%d] [%F] [%l] [%L] [%m] [%M] [%n] [%p] [%r] [%t] [%x] [%X]는 다음과 같다
admin.jsp] [org.apache.jsp.admin_jsp] [2011-02-10 11:30:22,21] ADMIN_jsp.java] [org.apache.jsp.test_jsp._jspService(test_jsp.java:64)] [64][fatal!!] [_jspService] [개행] [FATAL] [765567] [http-8080-Processor25] [] []
실제적용
먼저 web.xml에 적용
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/properties/log4j.properties</param-value>
</context-param>
속성저장log4j.properties파일
## 세팅 stdout,rolling 두개의 appender add
log4j.rootLogger=DEBUG,stdout,fout 디폴트 로그 남기기
## 콘솔에 출력하기위한 stdout생성
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
## Pattern
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# 호출자의 이름과 라인번호기록
log4j.appender.stdout.layout.ConversionPattern=[%d] %c (%F %L) -%m -%n
# roll 파일이름 설정
## 파일에 출력하기위한 fout생성
log4j.appender.fout=org.apache.log4j.DailyRollingFileAppender
## 이클립스의 경우에는 이클립스 자체경로C:\myjava\eclipse가 root가 되어버렸다.
log4j.appender.fout.File=logs/log4j.log\t
log4j.appender.fout.ImmediateFlush=true
log4j.appender.fout.Append=true\t
log4j.appender.fout.DatePattern='.'yyyy-MM-dd-HH(매시간마다)-mm(매분마다)
log4j.appender.fout.layout=org.apache.log4j.PatternLayout
log4j.appender.fout.layout.ConversionPattern=[%d] %c (%F %L) -%m -%n
실행방법
import org.apache.log4j.PropertyConfigurator;
import org.apache.log4j.Logger;
Logger log=Logger.getLogger(this.getClass());
log.debug("자료설정"); info fatal등 속성에 따라 나온다.
이런식으로 넣어주면 알아서 로그파일이나 db에 생성해준다.
참조 : http://blog.naver.com/kimura777/110107337809
'Web. 기타 언어 > log4j. slf4j' 카테고리의 다른 글
4. slf4j - 예제 (0) | 2018.10.31 |
---|---|
1. Log4j 구성 방법 (0) | 2017.01.25 |
3. log4j.xml 파일 예제 (0) | 2017.01.12 |