1、什么是log4j?
log4j是一个功能强大的日志记录组件。
在实际项目开发中,日志必不可少。通过log4j可以更方便的查看项目的日志信息
也可以通过日志信息定位项目的错误信息。
2、入门示例
1)、新建一个工程log4jDemo,导入log4j-1.2.17.jar包。目录结构如下:
2)、在src下新建log4j.properties,代码如下:
### 配置日志根目录,设置日志级别为debug级别 ###
log4j.rootLogger = debug,stdout,D,E
### 输出信息到控制台 ###
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 = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
### 输出DEBUG 级别以上的日志到=G://log4jTest/log.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = G://log4jTest/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
### 输出ERROR 级别以上的日志到=G://log4jTest/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =G://log4jTest/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
3)、测试
package com.cn.test;
import org.apache.log4j.Logger;
public class Test {
private static Logger logger=Logger.getLogger(Test.class);
public static void main(String[] args) {
logger.debug("debug日志");
logger.info("info日志");
logger.warn("warn日志");
logger.error("error日志");
logger.fatal("fatal日志");
}
}
结果:
1)、控制台打印信息如下:
2)、输出的文件如下:
error.log文件如下:
log.log文件如下:
二、参数详解
日志级别:debug、info、warn、error
debug:为程序调试信息
info:一般需要显示的信息
warn:一般警告,如session丢失
error:严重错误,主要是程序错误
Appender 为日志输出目的地,Log4j提供的appender有以下几种:
Layout:日志输出格式,Log4j提供的layout有以下几种:
打印参数: Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,如下: