文档章节

slf4j 更新版本导致无日志输出

Mr_Qi
 Mr_Qi
发布于 2017/04/10 11:20
字数 417
阅读 50
收藏 0

目前配件erp后台接收到错误会自动发送邮件给对应开发

通常会带上错误时间,错误方法名,错误发生的其他信息(用户门店)参数等等便于排查。

每天清晨还会统计系统中发生错误的个数但是

经过排查发现线索如下

erp系统的启动在04-08大约6点之后全部变成unstable。

由于erp的启动是异步启动 因此开发人员并未察觉(系统正常运行)

因此大概猜测是由于开发修改了logback的相关配置导致日志不输出

查看对应时间的历史变更后发现修改如下

并没有任何和log相关的提交。调查一度陷入了僵局。

因此只能通过日志不输出的方向考虑。日志不输出很有可能是使用了NOPLogger,那么考虑是否是有开发修改了pom文件导致依赖发生变更呢?

查询如下

 

原来开发引用jar没有指定特定的版本,同时没有将对应的依赖写到dependencyManagement。

对于maven中央仓库如有更新,则会自动更新对应的jar

恰巧0408那一天 slf4j发了新的版本的组件导致jar被更新。对此slf4j的说明如下

为了Java1.9 只能说也是蛮拼的……

对策如下:

修改为指定版本抽取到根pom中

去除release版本依赖 

一切正常

开发在引用jar的同事注意version等,最好在dependencyManagement指定特定的版本号

© 著作权归作者所有

共有 人打赏支持
Mr_Qi

Mr_Qi

粉丝 280
博文 359
码字总数 369228
作品 0
南京
程序员
私信 提问
SLF4J: Multiple bindings were found on the class path

众所周知,SLF4J是一个日志门面框架,它的作用是用于定义统一的日志接口,而具体的日志实现是由各个日志框架实现的,比如log4j,logback等。 问题 在使用SLF4J时,当class path同时包含了多个...

勇敢的飞石
05/17
0
0
slf4j、jcl、jul、log4j1、log4j2、logback大总结

1 系列目录 - jdk-logging、log4j、logback日志介绍及原理- commons-logging与jdk-logging、log4j1、log4j2、logback的集成原理- slf4j与jdk-logging、log4j1、log4j2、logback的集成原理- s...

乒乓狂魔
2015/05/04
0
33
为什么要使用 SLF4J 而不是 Log4J

本文由 ImportNew - Jaskey 翻译自 javarevisited。如需转载本文,请先参见文章末尾处的转载要求。 每一个Java程序员都知道日志对于任何一个Java应用程序,尤其是服务端程序是至关重要的,而...

编走编想
2013/12/07
0
0
让 Spring Framework 依赖 SLF4J 的 Maven 配置

Spring Framework 一直以来都是依赖 commons-logging,通过在 Maven pom.xml 进行配置,可以让 Spring Framework 依赖于越来越流行的 SLF4J,这是利用了 slf4j.org 提供的 jcl-over-slf4j 把...

张前程
2013/12/30
0
0
java日志组件介绍(common-logging,log4j,slf4j,logback)

common-logging common-logging是apache提供的一个通用的日志接口。用户可以自由选择第三方的日志组件作为具体实现,像log4j,或者jdk自带的logging, common-logging会通过动态查找的机制,...

五大三粗
2015/11/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MyBatis组件之缓存实现及使用

一 .概述 先讲缓存实现,主要是mybatis一级缓存,二级缓存及缓存使用后续补充 Mybatis缓存的实现是基于Map的,从缓存里面读写数据是缓存模块的核心基础功能; 除核心功能之外,有很多额外的附...

Ala6
16分钟前
0
0
SpringBoot中使用@RequestBody时如何自定义需要转换的日期格式

SpringBoot序列化和反序列化Json时默认使用的是Jackson(例如使用@RequestBody反序列化前端传递过来的Json字符串时), 当我们前端使用Json字符串传递到后台时日期格式可能是时间戳(即long类...

帅得拖网速
今天
1
0
可自定义扩展底部列表对话框ListBottomSheetDialogFragment

因为需要,为了方便,构建了一个可以自定义扩展的底部列表对话框,可以应付大部分场景。 效果图如下: 1.默认实现: 2.自定义列表实现 3.自定义头部和列表实现 一.可实现功能 1.默认可实现通...

明月春秋
今天
1
0
数据库---增删改查

增:insert into 表名(列名1,列名2) values(‘列值1’,‘列值2’) 多行数据处理:insert into 表名(列名1,列名2) select ‘列值1’,‘列值2’ union select ‘列值1.1’,‘列值2.2...

森林之下
今天
2
0
分布式/集群下session共享方案汇总

除去那些对容器依赖特别高的方案(如: 基于Tomcat的memcached-session-manager / tomcat-redis-session-manager,基于Jetty的jetty-nosql-memcache / jetty-session-redis ),自己整理了下...

哥本哈根的小哥
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部