SpringBoot----日志框架和配置,kafka视频分析

SpringBoot----日志框架和配置,kafka视频分析_第1张图片

如何让系统中所有日志统一使用slf4j

  1. 将系统中其他的日志框架先排除出去

  2. 用中间包替换原有的日志框架

  3. 我们导入slf4j其他的实现


SpringBoot日志关系

=============================================================================

SpringBoot----日志框架和配置,kafka视频分析_第2张图片

SpringBoot----日志框架和配置,kafka视频分析_第3张图片

![在这里插入图片描述](https://img-blog.csdnimg.cn/e41ba67a68be497791c0c4b7f224d4ab.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,sha

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

dow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzUzMTU3MTcz,size_16,color_FFFFFF,t_70)

SpringBoot----日志框架和配置,kafka视频分析_第4张图片

SpringBoot----日志框架和配置,kafka视频分析_第5张图片

在这里插入图片描述


日志使用

===================================================================

1.springBoot默认已经帮我们配置了日志配置


关于使用logger.trace()里面传入字符串爆红问题===》自动导包导入导入的包不匹配

spring boot日志使用trace()方法时‘trace(java.util.function.Supplier<java.lang.String>)‘…报错的解决


SpringBoot默认日志级别是info级别的,没有指定级别的就使用springboot默认规定的级别===》root级别===》info级别

日志级别

由低到高:trace

可以调整输出的日志级别,日志就只会在这个级别以后的高级别生效

@RunWith(SpringRunner.class)

@SpringBootTest

class SpringBootQuickStartOneApplicationTests {

//记录器

Logger logger= LoggerFactory.getLogger(getClass());

@Test

public void contextLoads()

{

//日志级别

//由低到高:trace

//可以调整输出的日志级别,日志就只会在这个级别以后的高级别生效

logger.trace(“这是trace日志…”);

logger.debug(“这是debug日志”);

//springBoot默认给我们使用的是info级别的

logger.info(“这是info级别”);

logger.warn(“这是warn级别”);

logger.error(“这是error级别”);

}

}

在这里插入图片描述


SpringBoot日志设置


  • 日志级别由低到高:trace、debug、info、warning、error。

  • SpringBoot的默认日志级别为info,调整日志级别的方法为:在application.properties文件中进行调整:

  • logging.level.包名(.类名)=级别A—>调整某个包(类)的最低日志级别为A。

修改默认日志配置:

SpringBoot----日志框架和配置,kafka视频分析_第6张图片

logging.file=springboot.log 不指定路径,在当前项目下生成名为springboot.log的日志

logging.file=E:/springboot.log 指定完整的路径,在E盘下生成名为springboot.log的日志

logging.path=/spring/log 在当前项目磁盘的根路径(如果不改为c盘)下创建spring文件夹和里面的log文件夹;使用

spring.log作为默认文件

指定在控制台输出的日志的格式

logging.pattern.console=%d{yyyy‐MM‐dd} [%thread] %‐5level %logger{50} ‐ %msg%n

指定文件中日志输出的格式

logging.pattern.file=%d{yyyy‐MM‐dd} ===[%thread] ===%‐5level ===%logger{50} ====%msg%n

日志输出格式参照:

%d–>表示日期时间,

%thread–>表示线程名,

%‐5level–>级别从左显示5个字符宽度

%logger{50} -->表示logger名字最长50个字符,否则按照句点分割。

%msg–>日志消息,%n是换行符

%d{yyyy‐MM‐dd HH:mm:ss.SSS} [%thread] %‐5level %logger{50} ‐ %msg%n


自定义日志配置


给类路径下放上每个日志框架自己的配置文件,SpringBoot将不使用默认配置

SpringBoot----日志框架和配置,kafka视频分析_第7张图片


如果直接使用logback-spring.xml为文件名,日志框架就不会直接加载日志的配置项,而是由SpringBoot解析日志配置,可以使用SpringBoot的高级Profile功能===》指定某段配置只在某段环境下生效

在这里插入图片描述

%d{yyyy‐MM‐dd HH:mm:ss.SSS} ‐‐‐‐> [%thread] ‐‐‐> %‐5level%logger{50} ‐ %msg%n

%d{yyyy‐MM‐dd HH:mm:ss.SSS} ==== [%thread] ==== %‐5level%logger{50} ‐ %msg%n

如果直接使用logback.xml为文件名,它将直接被日志框架识别,如果继续使用profile功能,会有以下错误:

no applicable action for [springProfile]


你可能感兴趣的:(程序员,面试,java,后端)