当前位置:首页 > Java技术 > 微服务架构Day02-SpringBoot日志slf4j

微服务架构Day02-SpringBoot日志slf4j

2022年11月08日 21:49:48Java技术7

日志框架

日志门面(接口,日志抽象层 ) 日志实现
JCL(Jakarta Commons Logging)、slf4j(Simple Logging Facade for Java)、jboss-logging log4j、JUL(java.util.logging)、log4j2、Logback
  • 日志门面:slf4j
  • 日志实现:Logback
    SpringBoot选用的是slf4j和Logback

slf4j的使用

  • 如何在系统中使用slf4j:
    1.日志记录方法的调用,不应该调用日志实现类,应该调用日志抽象层里面的方法。给系统导入slf4j的jar和Logback的实现jar。
    2.每一个日志的实现框架都有自己的配置文件。使用slf4j以后,配置文件还是使用日志实现框架的配置文件
  • 问题:使用slf4j+logback需要统一转换日志记录,别的框架使用其它日志框架的需要一起使用slf4j进行输出:
    1.将系统中的其他框架日志先替换出去,
    2.用面向slf4j的jar替换原有的日志框架,
    3.导入slf4j的jar和Logback的实现jar。

SpringBoot日志关系

  • SpringBoot底层也是使用slf4j+logback的方式进行日志记录
  • SpringBoot将其它日志都替换成slf4j
  • 如果需要引入其它框架,一定要把这个框架的默认日志框架依赖移除。
    SpringBoot能自动适配所有的日志,而且底层使用的是slf4j+logback的方式记录日志,引入其它框架的时候,只需要将这个框架依赖的日志框架排除掉即可。

日志使用

  • 默认配置
logging.file logging.path Example Description
none (none) 只在控制台输出
指定文件名 (none) my.log 输出日志到my.log文件
(none) 指定目录 /var/log 输出到指定目录的spring.log文件中
  • 指定配置
    给类路径下放上每个日志框架指定的配置文件,SpringBoot就不使用本身默认的配置。
Logging System Customization
Logback logback-spring.xml, logback-spring.groovy, logback.xml or logback.groovy
Log4j2 log4j2-spring.xml or log4j2.xml
JDK(Java Util Logging) logging.properties
  • logback.xml:会直接被日志框架识别加载
  • logback-spring.xml (推荐):日志框架不能直接加载日志配置项,由springBoot解析日志配置只使用SpringBoot高级功能SpringProfile,就可以通过
<springProfile name="dev"></springProfile>

设置指定某段配置只在某个环境下生效

切换日志框架

  • 可以按照slf4j的日志适配图进行相关的切换-替换加引入
  • 切换log4j2:由于SpringBoot底层有log4j2的框架,只要在依赖中排出之前的starter-logging依赖。

作者:攻城狮Chova
来源链接:https://www.cnblogs.com/chova/p/14398974.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/java/68592.html

分享给朋友:

“微服务架构Day02-SpringBoot日志slf4j” 的相关文章

SpringBoot 如何进行参数校验

SpringBoot 如何进行参数校验

为什么需要参数校验在日常的接口开发中,为了防止非法参数对业务造成影响,经常需要对接口的参数进行校验,例如登录的时候需要校验用户名和密码是否为空,添加用户的时候校验用户邮箱地址、手机号码格式是否正确。 靠代码对接口参数一个个校验的话就太繁琐了,代码可读性极差。 Validator框架就是为了解决开发人...

SpringBoot整合MybatisPlus基本的增删改查,保姆级教程

SpringBoot整合MybatisPlus基本的增删改查,保姆级教程

概述MybatisPlus是国产的第三方插件, 它封装了许多常用的CURDapi,免去了我们写mapper.xml的重复劳动,这里介绍了基本的整合SpringBoot和基础用法。引入依赖在项目中pom文件引入mybatisplus和mysql驱动依赖,如下图   &nb...

SpringCloud系列之版本选择

SpringCloud系列之版本选择

SpringBoot版本   进入Spring官网,查看当前SpringBoot版本:   当前最新版本是2.5.4 GA,如果单纯使用SpringBoot框架,那么选择2.5.4 GA就行。 GA即General Av...

Spring Boot 2.0 WebFlux 上手系列课程:快速入门(一)

Spring Boot 2.0 WebFlux 上手系列课程:快速入门(一)

代码示例 本文示例读者可以通过查看下面仓库的中的 alibaba/java/ParentClass.java : Github:https://github.com/JeffLi1993/java-core-learning-exam...

Spring Boot 2.x :通过 spring

Spring Boot 2.x :通过 spring

摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 本文内容 HBase 简介和应用场景 spring-boot-starter-hbase 开源简介 集成 HB...

SpringBoot 整合mapstruct|赶紧丢掉BeanUtils吧

SpringBoot 整合mapstruct|赶紧丢掉BeanUtils吧

代码已经上传到码云:https://gitee.com/lezaiclub/springboot-hyper-integration.git,欢迎白嫖 前言 在项目中,如果我们要遵循分层领域模型规约: 话,肯定避免不了在DTO、VO、BO、A...

java 打印日志 规范建议

java 打印日志 规范建议 1. 选择恰当的日志级别 常见的日志级别有5种,分别是error、warn、info、debug、trace。日常开发中,我们需要选择恰当的日志级别 error:错误日志,指比较严重的错误,对正常业务有影响,需要运维...

前端日志系统设计

前端日志系统设计

日志系统是一种不可或缺的跟踪调试工具,特别是在任何无人职守以及那些没有跟踪调试环境的系统中有着广泛的应用。 长期以来, 日志系统作为一种应用程序服务,对于跟踪调试、程序状态记录、崩溃数据恢复都有非常现实的意义。 前言 日志系统是一种不可或缺的跟踪调试工具,特别是...

Java项目(非Web)整合lombok+slf4j1.7.x+log4j 2.x日志框架同时输出到文件和控制台

Java项目(非Web)整合lombok+slf4j1.7.x+log4j 2.x日志框架同时输出到文件和控制台

项目依赖 项目依赖的版本号如下: <properties> <lombok.version>1.18.2</lombok.version> <slf4j.version>1.7.36</slf4j.ver...

[CXF REST标准实战系列] 二、Spring4.0 整合 CXF3.0,实现测试接口

[CXF REST标准实战系列] 二、Spring4.0 整合 CXF3.0,实现测试接口

Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket Reprint it anywhere u want. 文章Points: 1、介绍RESTful架构风格 2、Sprin...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。