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