浅谈Java slf4j日志简单理解

网友投稿 287 2023-01-26


浅谈Java slf4j日志简单理解

一、理解

slf4j(Simple Logging Facade for java),表示为java提供的简单日志门面,更底层一点说就是接口。通过将程序中的信息导入到日志系统并记录,实现程序和日志系统的解耦

日志门面接口本身通常并没有实际的日志输出能力,它底层还是需要去调用具体的日志框架API的,也就是实际上它需要跟具体的日志框架结合使用。由于具体日志框架比较多,而且互相也大都不兼容,日志门面接口要想实现与任意日志框架结合可能需要对应的桥接器,就好像JDBC与各种不同的数据库之间的结合需要对应的JDBC驱动一样。

1. 日志门面(Facade)

1.slf4j(推荐)

2.commons-logging

2. slf4j连接具体的日志

slf4j和其它日志框架连接的时候,中间需要一个桥接器。有的日志框架本身就使用了slf4j的api,则不需要使用桥接器.

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

filePattern="${log.path}/error-%d{yyyy-MM-dd_HH-mm}.log">

filePattern="${log.path}/error-%d{yyyy-MM-dd_HH-mm}.log">

filePattern="${LOG_HOME}/$${date:yyyy-MM}/${FILE_NAME}-%d{MM-dd-yyyy}-%i.log.gz">

filePattern="${LOG_HOME}/$${date:yyyy-MM}/${FILE_NAME}-%d{MM-dd-yyyy}-%i.log.gz">

LogTest.java

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

public class LogTest {

public final Logger logger=LoggerFactory.getLogger(getClass());

public static void main(String[] args) {

log.trace("trace");

log.debug("debug");

log.warn("warn");

log.info("info");

log.error("error");

}

}

参考文章:https://jb51.net/article/143486.htm


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:无线无法连接共享文件夹(无线无法连接共享文件夹怎么解决)
下一篇:Java实现的数组去重与排序操作详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~