log4j+commons-logging学习笔记

commons-logging是apache定义了统一的接口,但功能不如log4j强大,是为了实现接口统一管理,各个模块耦合度降低就调用commons-logging包,为了增强日志功能,则加入log4j的包

commons log是一个抽象接口,底层的实现可以自动替换
如果当前存在log4j则使用log4j
否则使用JDK log来实现
否则使用其自身的简单实现

Log log = logFactory.getLog(CommonLoggin.Class);
log.warn("test warn");

public class Log4jDemo {
	private static Logger logger = Logger.getLogger(Log4jDemo1.class);
	public static void main(String[] args) {
		String content;
		try {
			FileReader fileReader = new FileReader("d:\\a.txt");
			BufferedReader bufferdReader = new BufferedReader(fileReader);
			while((content = bufferdReader.readLine()) != null){
				logger.info(content);
			}
		} catch (FileNotFoundException e) {
			logger.warn("file is not fined!");
			//e.printStackTrace();
		} catch (IOException e) {
			logger.warn("read file error!");
			//e.printStackTrace();
		}
	}
}
public class CommonLoggingDemo {
	public static void main(String[] args) {
		Log log = LogFactory.getLog(CommonLoggingDemo.class);
		log.warn("sss");
	}
}

下面是关于log4j.properties的配置信息 

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### direct messages to file hibernate.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=d:/test.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### set log levels - for more verbose logging change 'info' to 'debug' ###

log4j.rootLogger=info, stdout,file

##如果有下面的配置信息,关于debug的信息就打印不出来,debug以上的级别就能够打印出来
###log4j.logger.com.bjsxt=debug

 注意一下几点:
1、使用log4j一定要有配置文件,即log4j.properties文件,否则是无法显示出日志
2、该文件一定要在bin目录下面,否则是无法识别到的
3、根据运行级别,可以自己设定想要查看的log,通过下面的文件来配置
4、如果有文件的Log,及时文件不存在log4j会自动创建一个指定的文件

相关推荐