【SpringBoot】统一日志处理

通常情况下,日志框架是由一个抽象层 + 实现层搭建的。SpringBoot日志系统是由SLF4J + logback组成的。

抽象层有:SLF4J、jboss-logging、JCL等;  实现层有:logback、jul、log4j、log4j2等。

SLF4J简介

SLF4J,即简单日志门面(Simple Logging Facade for java),不是具体的日志解决方案,是抽象类,允许最终用户在部署其应用时使用所希望的日志系统。例如,在项目中使用SLF4J记录日志,并且绑定log4j,则日志会以log4j的风格输出;后期想改为logback风格输出日志,则将log4j替换为logback即可,不需要修改项目中的代码。

1、使用slf4j记录日志非常简单,直接使用LoggerFactory创建即可。

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@SpringBootApplication
public class SpringbootLogApplication {

	private static final Logger logger = LoggerFactory.getLogger(SpringbootLogApplication.class);

	public static void main(String[] args) {
		SpringApplication.run(SpringbootLogApplication.class, args);
		logger.info("开始执行Springboot启动类");
	}

}

2、替换springboot默认的logbak系统,使用log4j日志系统。在maven配置文件中排除logbak,并引入log4j即可。

		
			org.springframework.boot
			spring-boot-starter-web
            
                
                    org.springframework.boot
                    spring-boot-starter-logging
                
            
		
		
			org.springframework.boot
			spring-boot-starter-log4j2
		

3、修改日志文件的输出路径

logging:
  file:
    path: D:\aaa

参考文章:

1,SpringBoot系列之统一日志处理_jatej-CSDN博客_springboot统一日志

相关事件:

2021年12 月 10 日凌晨,Apache 开源项目 Log4j 的远程代码执行漏洞细节被公开,由于 Log4j 的广泛使用,该漏洞一旦被攻击者利用会造成严重危害。

据悉,Apache Log4j 2.x <= 2.14.1 版本均回会受到影响。根据“微步在线研究响应中心”消息,可能的受影响应用包括但不限于:Spring-Boot-strater-log4j2、Apache Struts2、Apache Solr、Apache Flink、Apache Druid、Elasticsearch、Flume、Dubbo、Redis、Logstash、Kafka 等。很多互联网企业都连夜做了应急措施。

你可能感兴趣的:(Spring框架,SLF4J,日志)