目前,java下应用最广泛的日志系统主要就是两个系列: log4j和slf4j+logback 。

其中,slf4j只包含日志的接口,logback只包括日志的具体实现,两者加起来才是一个完整的日志系统。Log4j则同时包含了日志接口和实现。

这两套日志系统之间有可以相互兼容的组件,分别是slf4j-log4j12和 log4j-over-slf4j,引入之后就可以用log4j打出slf4j接口的日志,或者用logback打出log4j接口的日志。

背景知识介绍到这里,再简单说一下标题里提到的问题。问题的现象就是我们在war包里配置了log4j的日志级别为info, 但在catalina里却一直在打大量的debug日志。初看现象肯定很诡异,前期各种研究tomcat配置也没什么头绪。直到磁盘压力太大,去看jstack发现大量进程是等待在Logback代码中,才发现之前关注错了重点。再去具体了解了java下的日志系统后,问题也就很明了了。

先把几个事实摆出来:

1. 打出的debug日志都是用slf4j写的,根据堆栈得知logback具体执行了日志打印

2. logback在无配置文件时默认debug级别

3. 我们的war包中同时包含logback,log4j和slf4j-log4j12

4. Slf4j无法主动选择具体的日志实现

想必看到这里,大家也明白了问题所在。根据我们引入的包,log4j和logback都可以实现打印slf4j日志,而具体谁来打,不是一个用正常办法可以控制的事情,在这个具体案例下,logback就成了具体的日志打印者。而因为我们其实是想用lo4j打日志,所以没有配logback配置,所以logback就按默认的debug级别打了大量日志。<

springboot启动不打印日志信息_springboot项目大量打印debug日志问题相关推荐

  1. springboot启动不打印日志信息_SpringBoot启动信息没有打印到日志文件中,怎么回事?...

    我的一个SpringCloud工程下一个SpringBoot程序,logback配置文件如下,在IDEA中,dev环境下启动的日志会打印在IDEA下的窗口中,但是配置了logback,要在测试机上pr ...

  2. springboot启动不打印日志信息_SpringBoot日志操作【全局异常捕获消息处理--日志控制台输出+日志文件记录】...

    引言 看到一篇blog,感觉写的角度非常好,因此引用过来消化一番.

  3. 你了解SpringBoot启动时API相关信息是用什么数据结构存储的吗?(上篇)

    封面:学校篮球场上的云 纸上得来终觉浅,绝知此事要躬行 注意: 本文 SpringBoot 版本为 2.5.2; JDK 版本 为 jdk 11. 后续文章

  4. java 项目保存日志到本地_Springboot项目使用Slf4j将日志保存到本地目录

    spring boot 2攻略从构建小系统书 168元 (需用券) 去购买 > 1.引入jar包 org.slf4j slf4j-api 1.7.25 2.编写application.prope ...

  5. linux中自动化日志分析,Shell项目案例7-应用日志分析

    2019年录制SHell新课地址 贴切企业脚本编写思路讲解,带你玩Shell脚本编程实战. 本套课程从实际项目案例出发,近100个Shell实例讲解,由浅入深,循序渐进,带你玩转Shell编程的方方面 ...

  6. linux查看mysql日志信息,Linux下查看mysql错误日志

    Linux 基础 命令说明 $ type cmd # 获取命令类型 $ which cmd # 命令的位置 $ help cmd / cmd --help / man cmd # 获取命令帮助 $ w ...

  7. Vue项目实战之人力资源平台系统(十)图片上传和打印员工信息

    前言 目录 前言 一.配置腾讯云空间存储图片 1.1 配置步骤 二.图片上传流程解析 三.实现文件上传组件 3.1 安装依赖 3.2 上传图片组件的基本布局 3.3 全局注册组件 3.4 点击图片进行 ...

  8. Android开发,使用Log打印日志,打印相同内容在Logcat中只能连续显示两次(遍历打印List中的内容,打印结果条数比List的size小)。

    这个问题也不算什么有技术含量的问题,不过我感觉还是有必要写篇博客记录,以免有人遇到和我一样的困扰,也是因为在网上搜索发现,没有多少文章说明这个如题的原因,可能是大多都没经历过这个问题,或者是感觉不值得 ...

  9. 【每天一点Linux】使用tail命令动态查看日志信息

    tail 命令可用于查看文件的内容,参数 -f 查阅正在改变的日志文件 tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename ...

最新文章

  1. React Redux 的一些基本知识点
  2. 2021年春季学期-信号与系统-第六次作业参考答案-第九小题
  3. PAT甲级1116 Come on! Let‘s C:[C++题解]哈希表、素数
  4. photos怎么改成中文_Win10怎么设置中文语言?Win10设置语言为中文的方法图解
  5. C++中的.和::和:和-的区别
  6. python 读取中文文件名/中文路径
  7. python重命名csv文件_Python根据文件中选定的字符复制和重命名许多小csv文件
  8. 论述计算机模拟的优势与重要性,计算机模拟技术在高中地理教学的应用
  9. Thread 编程:简明(1) - 协作式取消 VS 线程终止
  10. php指定时间 n天,PHP实现指定时间的n月之前的这一天的两种算法
  11. iOS开发-- 使用TestFlight进行Beta测试
  12. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第6节 Lambda表达式_7_Lambda表达式有参数有返回值的练习...
  13. java图形界面美化_在Java中使用图片实现GUI的美化.doc
  14. 你知道啥是ROC吗?
  15. CF1385 D. a-Good String (分治+递归)
  16. 4/17 腾讯广州微信客户端开发一面
  17. [置顶] 【游戏产业的5年之变】
  18. Python:利用多种方式解微分方程(以二阶微分系统零状态响应为例)
  19. 处理Excel的Python算法_4.1_:数组导入和整理模块——Panda(快速入门)
  20. 2019智慧树python答案大全_2020智慧树Python语言应用答案

热门文章

  1. 「7年了!GTA 5联机版加载还是这么慢??一个if语句循环了19.8亿次??你的CPU在抽烟」
  2. 中富金石:智能卫浴行业高速发展,智能马桶将迎来高光时刻
  3. 00后的小孩子那么厉害????脚本???
  4. 联想y470p 使用Win8.1若干问题
  5. 手机探索者开发实录—设计时考虑
  6. 台车式抛丸机,绝对的王将之风-锐达机械
  7. FSSC22000认证咨询,GFSI旨在维持食品安全管理方案的基准审核流程,以实现食品安全标准的统一
  8. k8s之Deployment详解
  9. Git使用入门,使用原理解读及如何在GitLab、GitHub或者Stash上管理项目(二)
  10. 贫穷印度凭什么软件工程师那么牛