浅谈Java slf4j日志简单理解
一、理解
slf4j(SimpleLoggingFacadeforJava),表示为java提供的简单日志门面,更底层一点说就是接口。通过将程序中的信息导入到日志系统并记录,实现程序和日志系统的解耦
日志门面接口本身通常并没有实际的日志输出能力,它底层还是需要去调用具体的日志框架API的,也就是实际上它需要跟具体的日志框架结合使用。由于具体日志框架比较多,而且互相也大都不兼容,日志门面接口要想实现与任意日志框架结合可能需要对应的桥接器,就好像JDBC与各种不同的数据库之间的结合需要对应的JDBC驱动一样。
1.日志门面(Facade)
1.slf4j(推荐)
2.commons-logging
2.slf4j连接具体的日志
slf4j和其它日志框架连接的时候,中间需要一个桥接器。有的日志框架本身就使用了slf4j的api,则不需要使用桥接器.
logback是log4j的改良版,且内部直接使用了slf4j的api,所以不用桥接器。(logback和slf4j据说是出自同一个作者)
1.slf4j-api.jar>slf4j-log4j12.jar桥接器>log4j.jar
2.slf4j-api.jar>logback-core.jar,logback-classic.jar
3.slf4j-api.jar>slf4j-simple.jar
4.slf4j-api.jar>log4j-slf4j-impl-2.8.2.jar>org.apache.logging.log4j:log4j-api:2.8.2,org.apache.logging.log4j:log4j-core:2.8.2,org.apache.logging.log4j:log4j-web:2.8.2(推荐使用log4j2)
二、使用slf4j+log4j2
log4j2.xml
放在resources目录下
${web:rootDir}/logs
LogTest.java
importorg.slf4j.Logger; importorg.slf4j.LoggerFactory; publicclassLogTest{ publicfinalLoggerlogger=LoggerFactory.getLogger(getClass()); publicstaticvoidmain(String[]args){ log.trace("trace"); log.debug("debug"); log.warn("warn"); log.info("info"); log.error("error"); } }
参考文章:https://www.nhooo.com/article/143486.htm
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。