下载新版本的包,最怕老版本的帖子。百度上相关文档不多,于是萌生了总结一贴的想法,第一次自己总结文章,内容比较低级,希望对我这样的新手朋友有帮助。
1.什么是log4j、slf4j
我自己的理解:升级版的System.out.println(),可以将输出保存到日志文件中,可以将内容分级别,程序员可以控制让重要的内容输出。
slf4j就像sun,游戏规则一般用定的,log4j就是一种实现,具体的活可以由它来干
2.所需jar包:
slf4j-api-xxx.jar
log4j-core-2.xx.jar
log4j-api-2.xx.jar
log4j-slf4j-impl-2.xx.jar
第一个去slf4j官网下,后面三个来自log4j官网
log4j2和log4j1不同,以前slf4j和log4j1的搭配方法不管用了
3.测试代码
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class Log4jTest {
static Logger logger = LogManager.getLogger(Log4jTest.class.getName());
public static void main(String[] args) {
<span style="white-space:pre"> </span>logger.entry();//相当于logger.trace("entry");
<span style="white-space:pre"> </span>logger.trace("hello trace");
<span style="white-space:pre"> </span>logger.debug("hello debug");
<span style="white-space:pre"> </span>logger.info("hello info");
<span style="white-space:pre"> </span>logger.warn("hello warn");
<span style="white-space:pre"> </span>logger.error("hello error");
<span style="white-space:pre"> </span>logger.fatal("hello fatal");
<span style="white-space:pre"> </span>//以上按方法的级别低到高输出
}
}
4.配置文件(官网copy)
命名log4j2.xml
log4j2以后使用xml版的
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="com.foo.Bar" level="trace">
<AppenderRef ref="Console"/>
</Logger>
<Root level="info">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
5.运行,只有info开始的才能输出,因为我把level配成info,我的理解:官方按重要性级别分类,从下到上,有些信息无关紧要,可以把级别配高一点。
以此贴为开端,虽然麻烦费时间,还是自己希望养成总结经验的习惯。