Java教程

SLF4J (The Simple Logging Facade for Java)使用记录

本文主要是介绍SLF4J (The Simple Logging Facade for Java)使用记录,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录
  • SLF4J (The Simple Logging Facade for Java)使用记录
    • 官网
    • 参考资料
    • 什么是 SLF4J?
    • 具体绑定关系图
    • 使用示例

SLF4J (The Simple Logging Facade for Java)使用记录

官网

http://www.slf4j.org/

参考资料

  • 官方文档

什么是 SLF4J?

官网:

The Simple Logging Facade for Java (SLF4J) serves as a simple facade or abstraction for various logging frameworks (e.g. java.util.logging, logback, log4j) allowing the end user to plug in the desired logging framework at deployment time.

具体绑定关系图

image

使用示例

由于,SLF4J是一个日志门面框架并非具体日志实现,所以需要和其他框架搭配使用。这里使用 logback 作为例子

  1. 引入依赖
<!-- 日志:slf4j + logback  -->
	<dependency>
	    <groupId>org.slf4j</groupId>
	    <artifactId>slf4j-api</artifactId>
	    <version>1.7.31</version>
	</dependency>
	<dependency>
	    <groupId>ch.qos.logback</groupId>
	    <artifactId>logback-core</artifactId>
	    <version>1.2.3</version>
	</dependency>
	<dependency>
	    <groupId>ch.qos.logback</groupId>
	    <artifactId>logback-classic</artifactId>
	    <version>1.2.3</version>
	    <scope>compile</scope>
	</dependency>
  1. 在 classpath 添加 logback配置文件
    logback 命名最好是 logback.xml ,这样logback自己会在classpath下加载这个配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" >
    <contextName>logback</contextName>
    <property name="log.path" value="./logs" />
  <property name="CONSOLE_LOG_PATTERN" 
         value="%d{yyyy-MM-dd HH:mm:ss.SSS} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%15.15t] %-40.40logger{39} :  %m%n}"/> 
    <!--1. 输出到控制台-->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>
        <encoder>
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <!-- 设置字符集 -->
            <charset>UTF-8</charset>
        </encoder>
    </appender>
    <!--root 标签和其他logger标签起相同的作用,只是其他logger 可以继承此标签的属性--> 
    <root>
        <appender-ref ref="CONSOLE" />
    </root>
</configuration>
  1. 编写代码
package com.black.nginx.app;
 
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
 
public class NginxApp {
 
    private static Logger logger = LoggerFactory.getLogger(NginxApp.class);
	
	public static void main(String[] args) {
		logger.info("app start ...");
		
		
		logger.info("app shutdown .");
	}
}
  1. 日志输出
2021-07-13 23:19:41.591  INFO   --- [           main] com.black.nginx.app.NginxApp             :  app start ...
2021-07-13 23:19:41.596  INFO   --- [           main] com.black.nginx.app.NginxApp             :  app shutdown .

这篇关于SLF4J (The Simple Logging Facade for Java)使用记录的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!