log4j 1.x版本 純java項目配置入門學習

 依賴包:log4j-1.2.17.jar

 測試代碼:

package cn.com.agree.hx.logger.test;

import java.io.File;

import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.apache.log4j.spi.LoggerRepository;

public class LoggerTest {
	
	private static Logger logger = Logger.getLogger(LoggerTest.class);
	static {
//		logger.setAdditivity(additive);
		
		String configPath = System.getProperty("user.dir") + File.separator + "config"+ File.separator + "log4j.properties";
		PropertyConfigurator.configure(configPath);
	
		LoggerRepository  loggerRepository = logger.getLoggerRepository();
		Level level = loggerRepository.getRootLogger().getLevel();
		System.out.println(level.toInt());
		loggerRepository.getRootLogger().setLevel(Level.DEBUG);
//		Level level2 = loggerRepository.getRootLogger().getLevel();
//		System.out.println(level2.toInt());
//		logger.setLevel(Level.INFO);
	}
	
	
	public void testLoggerDebug() {
		logger.debug("debug");
		logger.info("info");
		logger.warn("warn");
		logger.error("error");
		logger.fatal("fatal");
		try {
			throwException();
		}catch (Exception e) {
			logger.error("出現的錯誤:", e);
		}
	}
	
	public void throwException() throws Exception {
		throw new Exception();
	}
	
	public static void main(String[] args) {
       LoggerTest loggerTest = new LoggerTest();
       loggerTest.testLoggerDebug();
    }

}

log4j的配置文件:config/log4j.properties

#log4j.rootLogger = INFO

log4j.rootLogger = INFO,stdout1
log4j.appender.stdout1 = org.apache.log4j.ConsoleAppender
log4j.appender.stdout1.Target = System.out
log4j.appender.stdout1.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout1.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method: %l%n %m%n


#log4j.logger.cn.com.agree.hx.logger.test.test2 = ERROR,tt2
#log4j.additivity.cn.com.agree.hx.logger.test.test2=false
#log4j.appender.tt2= org.apache.log4j.RollingFileAppender
#log4j.appender.tt2.File =   ./logs/log.log
#log4j.appender.tt2.Append = true
#log4j.appender.tt2.layout = org.apache.log4j.PatternLayout
#log4j.appender.tt2.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method: %l%n %m%n

log4j.logger.cn.com.agree.hx.logger.test=info,tt
log4j.additivity.cn.com.agree.hx.logger.test = false # false,不繼承rootLogger的特性
log4j.appender.tt= org.apache.log4j.RollingFileAppender
log4j.appender.tt.File=./logs/log_test.log
log4j.appender.tt.layout=org.apache.log4j.PatternLayout
log4j.appender.tt.layout.ConversionPattern=[ %t:%-20r ]  %d{DATE} %5p %t %X{url} %c{1}:%M - %m%n 
log4j.appender.tt.bufferedIO=false
log4j.appender.tt.MaxFileSize=50KB
log4j.appender.tt.MaxBackupIndex=10
log4j.appender.tt.encoding=UTF-8

log4j.logger.cn.com.agree.hx.logger.test.test2=info,CL
log4j.additivity.cn.com.agree.hx.logger.test.test2 = false # false,不繼承rootLogger的特性
log4j.appender.CL= org.apache.log4j.RollingFileAppender
log4j.appender.CL.File=./logs/log.log
log4j.appender.CL.layout=org.apache.log4j.PatternLayout
log4j.appender.CL.layout.ConversionPattern=[ %t:%-20r ]  %d{DATE} %5p %t %X{url} %c{1}:%M - %m%n 
log4j.appender.CL.bufferedIO=false
log4j.appender.CL.MaxFileSize=50KB
log4j.appender.CL.MaxBackupIndex=10
log4j.appender.CL.encoding=UTF-8

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章