import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.DailyRollingFileAppender;

Logger log = Logger.getLogger(GERPIfBox.class);

     String layout = "[%d{yyyy-MM-dd HH:mm:ss}] %-5p [%l] - %m%n";
     String logfile = "D:/PMS_APP/WEB-INF/bach_job/log/gerpif.log";
     String datepattern = ".yyyy-MM-dd";
     PatternLayout patternlayout = new PatternLayout(layout);
     
     DailyRollingFileAppender appender = null;
     try{
      appender = new DailyRollingFileAppender(patternlayout, logfile, datepattern);
     }catch(java.io.IOException ioex){
      ioex.printStackTrace();
     }
     
     log.addAppender(appender);


출처 : http://blog.naver.com/PostView.nhn?blogId=javasniper&logNo=130115803097 

'LogBack&Log4j' 카테고리의 다른 글

LogFile에 StackTrace를 남기고 싶을때.  (0) 2010.08.26
log시간별로 만들기  (0) 2010.08.25

ExceptionUtils.getStackTrace(e)를 사용하면 된다. 

사용하기위해서는 
commons-lang-2.4.jar를 추가할 필요가 있다. 

'LogBack&Log4j' 카테고리의 다른 글

배치파일에 log4j 사용  (0) 2012.01.20
log시간별로 만들기  (0) 2010.08.25
SingleLogFileAppender.java 에extends RollingFileAppender를 한다.

/*
	 * (Non-Javadoc)
	 * @see org.apache.log4j.RollingFileAppender#subAppend(org.apache.log4j.spi.LoggingEvent)
	 */
	@Override
	protected void subAppend(LoggingEvent event) {
		if(baseFileName == null) {
			baseFileName = this.fileName;
		}

		if(baseFileName != null && baseFileName.indexOf("%d") > -1) {
			try {
				super.setFile(baseFileName.replace("%d", formatter.format(new Date())), true, this.bufferedIO, this.bufferSize);
			} catch (IOException e) {
				e.printStackTrace();
			}
		}

		super.subAppend(event);
		try {
            super.setFile(baseFileName, true, this.bufferedIO, this.bufferSize);
        } catch (IOException e) {
            e.printStackTrace();
        }
	}


이벤트가 발생했을 경우 처리를 재정의 한다.
setFile을 두번 정의 이유는 첫번째에서 생성후 그만두면 그파일을 계속 잡고 있기에
두번째 setFile로 기본이 되는 파일을 잡고 있도록 재정의..

'LogBack&Log4j' 카테고리의 다른 글

배치파일에 log4j 사용  (0) 2012.01.20
LogFile에 StackTrace를 남기고 싶을때.  (0) 2010.08.26

+ Recent posts