一、slf4j依赖介绍
SLF4J指的是Simple Logging Facade for Java,是Java各种log框架(log4j、jdklog、logback)的抽象门面,它可以用来整合现有的所有的Java日志框架,提供了一种统一的日志接口,方便日志框架的切换和管理。
在使用SLF4J进行操作时,需要引入两个jar包,分别是slf4j-api和slf4j具体实现的jar包(例如:log4j-over-slf4j、jcl-over-slf4j、jul-to-slf4j、logback-classic)。
slf4j-api是SLF4J日志门面接口的Java文件,使用该接口是必需的,而slf4j的具体实现jar包是将slf4j底层的Api实现自注入的日志框架。
二、为什么要使用SLF4J
1、在使用java log框架时,往往有很多代码是依赖于具体的某个日志框架进行编写的,所以一旦需要更换日志框架,将会变得非常麻烦。而SLF4J最大的好处是将日志代码从具体的日志框架中解耦出来,因此我们可以只通过使用SLF4J接口进行操作,而不关心具体的日志实现,方便对日志框架进行更换。
2、SLF4J拥有非常简易的API,同时又具够足够的灵活性来支持按照开发者的需求进行扩展。
3、SLF4J还支持多种参数化输出方式,可以大大地减小拼接字符串的开销,提供了多种方法来处理日志级别,方便日志的输出与管理。
三、SLF4J的具体使用
1、slf4j的日志级别
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Logger logger = LoggerFactory.getLogger(SomeClass.class);
logger.trace("trace message");
logger.debug("debug message");
logger.info("info message");
logger.warn("warn message");
logger.error("error message");
2、slf4j的占位符写法(避免后期产生大量的字符串拼接操作)
Object[] params = { "helloworld", new Integer(18) };
logger.info("hello {}, i'm {} years old.", params);
3、使用slf4j-maven-plugin打印编译执行时间
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
<timestampFormat>yyyyMMdd</timestampFormat>
<revisionOnScmFailure>unknown</revisionOnScmFailure>
<useLastCommittedRevision>false</useLastCommittedRevision>
<appendHgChangesTo>BUILD_INFO</appendHgChangesTo>
</configuration>
</plugin>
<plugin>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-maven-plugin</artifactId>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>test-broadcast</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
四、如何引入slf4j依赖包
以常用的maven方式进行工程中引入:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>${slf4j.log4j-over-slf4j.version}</version>
</dependency>
五、总结
本文详细介绍了SLF4J日志框架,并从多个方面进行了阐述,包括:SLF4J的介绍、为什么要使用SLF4J、SLF4J的具体使用、如何引入SLF4J依赖包等。在实际开发过程中,使用SLF4J可以很好地解决依赖具体框架、易于扩展等问题,是一个非常值得推荐的日志框架。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/245761.html
微信扫一扫
支付宝扫一扫