Ex-Jakarta logging
http://logging.apache.org/log4j/1.2/apidocs/index.html doc 문서
ant를 환경변수 잡고 . 실행
logging이 압축이 풀린곳으로 이동하여 ant를 실행
ant jar 해주면 logging 다운폴더에 dist가 생긴다 .. 거기에 lib폴더 안에 log4j-1.2.15 파일을 web-inf밑에 lib폴더에 삽입
Logger : 실제로 로그를 기록하는 객체1
Appender : 로그를 출력하는 대상 . (콘솔 || 파일에 출력가능)
Layout : 로그 포멧
하나의 Logger에는 n개의 Appendar이 붙는다.
메쏘드 (method)
1 레벨 debug()
2 레벨 info()
3 레벨 error()
4 레벨 warn()
5 레벨 fatal()
사용법 ..
package com.ex;
import java.io.IOException;
import org.apache.log4j.*;
import org.apache.log4j.helpers.DateLayout;
public class LogEx1 {
public static void main(String[] args) throws IOException {
Logger logger = Logger.getLogger(LogEx1.class);//
//Logger logger = Logger.getLogger("EX");
// 로그에 레벨 지정하기
//logger.setLevel(Level.ERROR);
//시간을 이용해서 Layout를 쓸때 사용 time, thread,
/*DateLayout layout = //new SimpleLayout();
new TTCCLayout();
*/
// 심플하게 그냥 찍을 때 사용
//Layout layout = new SimpleLayout();
// patternLayout를 사용하여 .. 데이타를 포멧 해서 찍기 현재 시간[%d], 현재 실행되는 쓰레드 [%t] , 현재 실행되는 메소드%M 출력하려는 메시지 %m
Layout layout = new PatternLayout("%d{HH:mm:ss} [%t] %M %m \n");
//appender 에 레이아웃을 지정
Appender app1 = new ConsoleAppender(layout);
logger.addAppender(app1); //logger에 appender을 붙인다.
//logger 하나에 여러개의 appener을 붙일수 있다 .
RollingFileAppender app2 = new RollingFileAppender(layout,"c:\\zzz\\logex1.txt");
app2.setMaxFileSize("2KB"); // 2kb짜리를 하나 만들고 안만든다 .. 파일에 내용을 덮어쓴다.
app2.setMaxBackupIndex(100); // setMaxFileSize의 파일 갯수를 지정 한다. 그래야 용량이 넘어가도 파일을 계속 만들어서 파일에 담는다.
logger.addAppender(app2);
for(int i = 0 ; i <100; i ++){
logger.debug("debug : "+i);
logger.info("info : "+i);
logger.error("error : "+i);
logger.warn("warn : "+i);
logger.fatal("fatal : "+i);
}
}
}