日志是非常重要的,虽然他不会以需求功能提来,但也不会体现在产品方案中。但是,它在系统项目中却占有巨大的地位。
为了保证服务的高可用,发现问题一定要即使,解决问题一定要迅速,所以生产环境一旦出现问题,预警系统就会通过邮件、短信甚至电话的方式实施多维轰炸模式,确保相关负责人不错过每一个可能的bug。
预警系统判断疑似bug大部分源于日志。比如某个微服务接口由于各种原因导致频繁调用出错,此时调用端会捕获这样的异常并打印ERROR级别的日志,当该错误日志达到一定次数出现的时候,就会触发报警。
Spring Boot默认日志系统
Spring Boot默认使用LogBack日志系统,如果不需要更改为其他日志系统如Log4j2等,则无需多余的配置,LogBack默认将日志打印到控制台上。
新建的Spring Boot项目一般都会引用spring-boot-starter
或者spring-boot-starter-web
,而这两个起步依赖中都已经包含了对于spring-boot-starter-logging
的依赖,所以,无需额外添加依赖
如何在项目中打印日志
新建一个配置类ConfigLog,注入一个Bean,并在方法中打印日志
package com.toec.util; /** * @author : Jone * @date : 14:27 2021/8/18 0018 * @function : */ import com.toec.business.entity.Person; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * 配置内部类 */ @Configuration public class ConfigLog { private static final Logger LOG = LoggerFactory.getLogger(ConfigLog.class); @Bean public Person logMethod() { LOG.info("========&#