日志体系结构和Log4J【理解】
-
体系结构
入门案例【应用】
-
使用步骤
-
导入log4j的相关jar包
-
编写log4j配置文件(名字必须为log4j.properties,不然就错了
)
-
在代码中获取日志的对象
-
按照级别设置记录日志信息
-
-
代码示例
// log4j的配置文件,名字为log4j.properties, 放在src根目录下
log4j.rootLogger=debug,my,fileAppender
### direct log messages to my ###
log4j.appender.my=org.apache.log4j.ConsoleAppender
log4j.appender.my.ImmediateFlush = true
log4j.appender.my.Target=System.out
log4j.appender.my.layout=org.apache.log4j.PatternLayout
log4j.appender.my.layout.ConversionPattern=%d %t %5p %c{1}:%L - %m%n
# fileAppender��ʾ
log4j.appender.fileAppender=org.apache.log4j.FileAppender
log4j.appender.fileAppender.ImmediateFlush = true
log4j.appender.fileAppender.Append=true
log4j.appender.fileAppender.File=D:/log4j-log.log
log4j.appender.fileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.fileAppender.layout.ConversionPattern=%d %5p %c{1}:%L - %m%n
// 测试类
public class Log4JTest01 {
//使用log4j的api来获取日志的对象
//弊端:如果以后我们更换日志的实现类,那么下面的代码就需要跟着改
//不推荐使用
//private static final Logger LOGGER = Logger.getLogger(Log4JTest01.class);
//使用slf4j里面的api来获取日志的对象
//好处:如果以后我们更换日志的实现类,那么下面的代码不需要跟着修改
//推荐使用
private static final Logger LOGGER = LoggerFactory.getLogger(Log4JTest01.class);
public static void main(String[] args) {
//1.导入jar包
//2.编写配置文件
//3.在代码中获取日志的对象
//4.按照日志级别设置日志信息
LOGGER.debug("debug级别的日志");
LOGGER.info("info级别的日志");
LOGGER.warn("warn级别的日志");
LOGGER.error("error级别的日志");
}
}
我们可以看到只打印了后面三个,我们的debug没有打印,这个我们就可以通过修改配置文件的方式来进行修改,我们将配置文件中的info改为debug就可以了
这就是我们刚才为什么只输出后面三个,而不输出debug的原因
第一步:导入jar包
第二步:我们要把properties文件复制到我们的src这个文件夹下面
第三步:在代码当中获取到日志的对象
第四步:就是在合适的时候,我们进行log4j的输出就可以了