日志框架

日志门面(接口,日志抽象层 ) 日志实现
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依赖。

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

  1. Aibabelx-shop 大型微服务架构系列实战之技术选型

    一.本项目涉及编程语言java,scala,python,涉及的技术如下: 1.微服务架构: springboot springcloud mybatisplus shiro 2.全文检索技术 sol ...

  2. 使用Redis为注册中心的Dubbo微服务架构(基于SpringBoot)

    title: 使用Redis为注册中心的Dubbo微服务架构(基于SpringBoot) date: 2019-07-30 14:06:29 categories: 架构 author: mrzhou ...

  3. SpringBoot微服务架构下的MVC模型总结

    SpringBoot微服务架构下的MVC模型产生的原因: 微服务概念改变着软件开发领域,传统的开源框架结构开发,由于其繁琐的配置流程 , 复杂的设置行为,为项目的开发增加了繁重的工作量,微服务致力于解 ...

  4. SpringCloud SpringBoot 前后端分离企业级微服务架构源码赠送

    基于SpringBoot2.x.SpringCloud和SpringCloudAlibaba并采用前后端分离的企业级微服务敏捷开发系统架构.并引入组件化的思想实现高内聚低耦合,项目代码简洁注释丰富上手 ...

  5. spring-boot+spring-cloud+maven-module 一个 maven多模块的微服务架构模版

    spring-boot-cloud-module spring-boot+spring-cloud+maven-module 一个 maven多模块的微服务架构模版. 新手上路的绝佳模版,只有必要的配 ...

  6. 微服务架构 | 10.3 使用 Zipkin 可视化日志追踪

    目录 前言 1. Zipkin 基础知识 1.1 Zipkin 链路监控的原理 2. 下载 Zipkin 服务器 2.1 下载 zipkin-server-2.12.9-exec.jar 包 2.2 ...

  7. 基于 Docker 的微服务架构实践

    本文来自作者 未闻 在 GitChat 分享的{基于 Docker 的微服务架构实践} 前言 基于 Docker 的容器技术是在2015年的时候开始接触的,两年多的时间,作为一名 Docker 的 D ...

  8. 微服务架构实践 - 你只懂docker与spring boot就够了吗?

    微服务架构实践 - 你只懂docker与spring boot就够了吗? 作者 浮云发发 已关注 2017.02.27 02:50* 字数 2613 阅读 2583评论 6喜欢 35赞赏 2 微服务并 ...

  9. 【微服务架构】SpringCloud组件和概念介绍(一)

    一:什么是微服务(Microservice) 微服务英文名称Microservice,Microservice架构模式就是将整个Web应用组织为一系列小的Web服务.这些小的Web服务可以独立地编译及 ...

  10. springcloud与docker微服务架构实战--笔记

    看了<微服务那些事>之后,Spring boot和Spring Cloud的关系理清楚了,Spring cloud各个模块的作用也了解了. 但是,Spring cloud 与Docker的 ...

随机推荐

  1. linux系统中set、env、export关系

    set 用来显示shell变量(包括环境变量.用户变量和函数名及其定义),同时可以设置shell选项来开启调试.变量扩展.路径扩展等开关env 用来显示和设置环境变量export 用来显示和设置导出到 ...

  2. 训练分类器 - 基于 PyTorch

    训练分类器 目前为止,我们已经掌握了如何去定义神经网络.计算损失和更新网络中的权重. 关于数据 通常来讲,当你开始处理图像.文字.音频和视频数据,你可以使用 Python 的标准库加载数据进入 Num ...

  3. MongoDB 总结

    目录 1. 逻辑结构 2. 安装部署 2.1 系统准备 2.2 mongodb安装 2.2.1 创建所需用户和组 2.2.2 创建mongodb所需目录结构 2.2.3 上传并解压软件到指定位置 2. ...

  4. 使用 tke-autoscaling-placeholder 实现秒级弹性伸缩

    背景 当 TKE 集群配置了节点池并启用了弹性伸缩,在节点资源不够时可以触发节点的自动扩容 (自动买机器并加入集群),但这个扩容流程需要一定的时间才能完成,在一些流量突高的场景,这个扩容速度可能会显得 ...

  5. tornado大全(甩锅版)

    tornado简介 tornado是Python界中非常出名的一款Web框架,和Flask一样它也属于轻量级的Web框架. 但是从性能而言tornado由于其支持异步非阻塞的特性所以对于一些高并发的场 ...

  6. 【python刷题】LRU

    什么是LRU? LRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰.该算法赋予每个页面一个访问字段,用来记录一个页面自上次 ...

  7. axios用法

    1 axios.get('https://api.apiopen.top/getJoke?type=all', { 2 params: {//用于传参 3 type: 'all' 4 } 5 }).t ...

  8. 【转】使用ssh-keygen和ssh-copy-id三步实现SSH无密码登录

    [原]http://blog.chinaunix.net/uid-26284395-id-2949145.html ssh-keygen  产生公钥与私钥对. ssh-copy-id 将本机的公钥复制 ...

  9. Trove自动钓鱼脚本(国际服

    #WinActivateForce ; Script config. Do NOT change value here, might working inproperly! global Versio ...

  10. Linux内核[CVE-2016-5195] (dirty COW)原理分析

    [原创]Linux内核[CVE-2016-5195] (dirty COW)原理分析-二进制漏洞-看雪论坛-安全社区|安全招聘|bbs.pediy.com https://bbs.pediy.com/ ...