Log4j는 다른 패키지의 로그를 다른 위치로 인쇄합니다

필요한 가방과 테스트 코드 다운로드 첨부!
 
다른 로그를 다른 곳에 인쇄해야 한다면, 다른 Appender를 정의한 다음, 각각의 Appender의 로그 단계, 인쇄 형식, 출력 위치를 정의해야 합니다!
 
log4j를 설정합니다.properties 파일은 다음과 같습니다.
#########################################################################################
#       
LOG_DIR=c://logtest/
log4j.rootLogger=WARN,rootlog,logSay
#########################################################################################
#       1G 30              ,       
log4j.appender.rootlog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.rootlog.file=${LOG_DIR}/logtest.log
log4j.appender.rootlog.layout=org.apache.log4j.PatternLayout
log4j.appender.rootlog.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [%c-%L]-[%p] %m%n
#########################################################################################
#       
log4j.appender.logSay=org.apache.log4j.ConsoleAppender
log4j.appender.logSay.Target=System.out
log4j.appender.logSay.layout=org.apache.log4j.PatternLayout
log4j.appender.logSay.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [%c-%L]-[%p] %m%n
#########################################################################################
# test     10M 2     
log4j.logger.com.cui.log.test1=warn,test
log4j.appender.test=org.apache.log4j.RollingFileAppender
log4j.appender.test.MaxFileSize=10240KB
log4j.appender.test.MaxBackupIndex=2
log4j.appender.test.File=${LOG_DIR}/test.log
log4j.appender.test.layout=org.apache.log4j.PatternLayout
log4j.appender.test.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [%c-%L]-[%p] %m%n
#########################################################################################
# test2     10M 2     
log4j.logger.com.cui.log.test2=debug,test2
log4j.appender.test2=org.apache.log4j.RollingFileAppender
log4j.appender.test2.MaxFileSize=10240KB
log4j.appender.test2.MaxBackupIndex=2
log4j.appender.test2.File=${LOG_DIR}/test2.log
log4j.appender.test2.layout=org.apache.log4j.PatternLayout
log4j.appender.test2.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [%c-%L]-[%p] %m%n
#########################################################################################

 
기본 출력 구성을 정의한 다음 두 패키지의 개별 인쇄 동작을 정의합니다.
package com.cui.log.test1;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
 * @         
 * @author    
 * @version 1.0
 * @since
 */
public class Test1 {
	/**
	 *       
	 */
	private static Log log = LogFactory.getLog(Test1.class);
	/**
	 *   
	 * @param args
	 */
	public static void main(String[] args) {
		log.debug("Test1");
		log.warn("Test1");
		log.info("Test1");
		log.error("Test1");
	}
}

 
다른 패키지의 코드:
package com.cui.log.test2;
import java.io.IOException;
import org.apache.commons.logging.Log; 
import org.apache.commons.logging.LogFactory;
/**
 * @         
 * @author    
 * @version 1.0
 * @since
 */
public class Test2 {
	/**
	 *       
	 */
	private static Log log = LogFactory.getLog(Test2.class);
	/**
	 *   
	 * @param args
	 */
	public static void main(String[] args) throws IOException {
		log.debug("Test2");
		log.warn("Test2");
		log.info("Test2");
		log.error("Test2");
	}
}

 
우리는 두 개의 서로 다른 출력의 로그 단계에 대한 출력이 다르고 컨트롤러도 각자의 설정에 따라 출력하며 두 종류를 실행합니다!
콘솔:
2012-11-27 14:03:50 [com.cui.log.test1.Test1-21]-[WARN] Test1
2012-11-27 14:03:50 [com.cui.log.test1.Test1-23]-[ERROR] Test1

 
추가:
2012-11-27 14:04:06 [com.cui.log.test2.Test2-21]-[DEBUG] Test2
2012-11-27 14:04:06 [com.cui.log.test2.Test2-22]-[WARN] Test2
2012-11-27 14:04:06 [com.cui.log.test2.Test2-23]-[INFO] Test2
2012-11-27 14:04:06 [com.cui.log.test2.Test2-24]-[ERROR] Test2

 
출력 파일 인쇄를 보려면 다음과 같이 하십시오.
주 파일 logtest.log:
2012-11-27 14:03:50 [com.cui.log.test1.Test1-21]-[WARN] Test1
2012-11-27 14:03:50 [com.cui.log.test1.Test1-23]-[ERROR] Test1
2012-11-27 14:04:06 [com.cui.log.test2.Test2-21]-[DEBUG] Test2
2012-11-27 14:04:06 [com.cui.log.test2.Test2-22]-[WARN] Test2
2012-11-27 14:04:06 [com.cui.log.test2.Test2-23]-[INFO] Test2
2012-11-27 14:04:06 [com.cui.log.test2.Test2-24]-[ERROR] Test2

 
테스트 1 파일 테스트.log:
2012-11-27 14:03:50 [com.cui.log.test1.Test1-21]-[WARN] Test1
2012-11-27 14:03:50 [com.cui.log.test1.Test1-23]-[ERROR] Test1

 
테스트 2 파일 테스트 2.log:
 
2012-11-27 14:04:06 [com.cui.log.test2.Test2-21]-[DEBUG] Test2
2012-11-27 14:04:06 [com.cui.log.test2.Test2-22]-[WARN] Test2
2012-11-27 14:04:06 [com.cui.log.test2.Test2-23]-[INFO] Test2
2012-11-27 14:04:06 [com.cui.log.test2.Test2-24]-[ERROR] Test2

 
ITEYE 사이트에서 오리지널을 보십시오. 감사합니다.
http://cuisuqiang.iteye.com/  !
자체 블로그 주소: http://www.javacui.com/, 내용과 ITEYE가 동기화됩니다!

좋은 웹페이지 즐겨찾기