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

目录

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.

具体绑定关系图

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

使用示例

由于,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 .

上一篇:Servlet返回“ HTTP状态404请求的资源(/ Servlet)不可用


下一篇:[Nginx] 解决:后台api接口上https后访问不了的(通过域名访问指定端口)