slf4j-api、slf4j-log4j12、log4j 之间的关系:

  1. 首先系统包含slf4j-api作为日志接入的接口:编译时slf4j-api中public final class LoggerFactor类中private final static void bind()方法会寻找具体的日志实现类绑定,主要通过StaticLoggerBinder.getSingleton()的语句调用。
  2. slf4j-log4j12是链接slf4j-api和log4j中间的适配器:它实现了slf4j-api中StaticLoggerBinder接口,从而使得在编译时绑定的是slf4j-log4j12的getSingleton()方法。
  3. log4j是具体的日志系统:通过slf4j-log4j12初始化Log4j,达到最终日志的输出。
  4. 可参考官方文档:https://www.slf4j.org/manual.html
    https://www.slf4j.org/

为什么选择这个组合?

JCL太老了,jboss-logging太专业了,SLF4j和Log4j以及Logback是出自同一个人的手中。

maven配置:

<properties><slf4j.version>1.7.7</slf4j.version><log4j.version>1.2.17</log4j.version>
</properties>
<dependencies>
<dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>${log4j.version}</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>${slf4j.version}</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>${slf4j.version}</version></dependency>
</dependencies>

配置log4j.properties

External Libraries

jar包配置(5个包)

日志信息jar包 slf4j-api、slf4j-log4j12、log4j 之间的关系和使用相关推荐

  1. Log4j2 日志 依赖 jar包 缺失 导致启动报错 解决方法

    Log4j2 日志 依赖 jar包 缺失 导致启动报错 解决方法. 一个Java老项目,更新了日志工具,升级为Log4j2,在引入log4j-api-2.14.0.jar 和log4j-core-2. ...

  2. 在spring官网上下载spring的jar包及API文档

    1.在浏览器搜索spring,进入spring官网 2.在spring官网里面点击PROJECTS 3.点击SPRING FRAMEWORK 4.点击 "猫" 5.在中间找到Dow ...

  3. 数据仓库 — 05_日志生成(日志生成jar包的部署、脚本的编写_启动_时间同步_进程查看)

    文章目录 1 日志生成 1.1 日志启动 1.2 集群日志生成启动脚本 1.3 集群时间同步修改脚本(临时) 1.4 集群所有进程查看脚本 欢迎访问笔者个人技术博客: http://rukihuang ...

  4. linux 执行jar包 不生成日志文件,jar包在linux本地运行成功, 但是jenkins构建失败...

    一个springboot服务的jar包在linux本地运行成功, 但是jenkins构建失败,报错,求解决 我的jenkins shell脚本 BUILD_ID=dontKillMe java -ja ...

  5. 如何读取jar包外的properties和log4j.properties等配置文件

    一般在项目中使用properties配置文件的时候都将相关的properties文件放在src目录下,在将该app打包生成jar后,相应的properties配置文件生... 一般在项目中使用prop ...

  6. java如何排除多余的依赖_Maven依赖排除 禁止依赖传递 取消依赖的方法 去除jar包中的不想要的依赖关系...

    大家都知道Maven的优点是依赖管理,特别是前期使用ANT的开发者都有很多感触.最近要开发一个java工程,定的要使用maven,会使用hadoop和hbase的客户端,而引入一个hadoop-cli ...

  7. Idea解决jar包冲突问题

    错误信息已经提示是日志的jar包重复: SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar ...

  8. 【最全Mybatis学习笔记(导入mybatis相关jar包)】

    目录 1. 什么是Mybatis 2. 如何引入Mybatis? 3.编写Mybatis工具类 4. 万能Map 5. 模糊查询怎么写? 6. 作用域(Scope)和生命周期SqlSessionFac ...

  9. spring核心框架体系结构(jar包依赖)

    很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错就继续配置jar依赖,导致spring依赖混乱,甚至下 ...

最新文章

  1. WCF中常见的几种Host,承载WCF服务的方法详解
  2. Linux下备份系统
  3. openstack nova 源码解析 — Nova API 执行过程从(novaclient到Action)
  4. Palindrome Partitioning
  5. 前端学习(2648):vue3.0的处理展示
  6. 微信小程序原生 地区选择器
  7. ***error*** (zip#Browse) unzip not available on your system
  8. 「小程序JAVA实战」 小程序的事件(11)
  9. mini2440驱动分析之ADC
  10. wget 和scp对比_curl与wget区别
  11. 核心期刊与统计源期刊
  12. 并发(10):线程之间的协作(上)
  13. 财务管理流程图怎么画之你需要了解的流程图绘制技巧
  14. UnityShader学习——非真实感渲染
  15. 神经网络调参:loss 问题汇总(震荡/剧烈抖动,loss不收敛/不下降)
  16. 算法细节系列(3):梯度下降法,牛顿法,拟牛顿法
  17. [三星移动硬盘] 磁盘必须经过格式化(无法显示)
  18. MIR4 预制凭证修改及过账,尾差调整
  19. 谷歌地图中给infowindow添加点击事件
  20. ShareSDK Android端权限说明

热门文章

  1. 机器学习笔记:非负矩阵分解问题 NMF
  2. pytorch学习笔记 torchnn.ModuleList
  3. Tableau必知必会之用 Page 功能创建你的动态视图
  4. Flink从入门到精通100篇(四)-基于 Flink 和 Drools 的实时日志处理
  5. 【Linux】8_存储管理逻辑卷LVM
  6. LeetCode-动态规划-198. 打家劫舍
  7. Edit Distance Python源码及支持包的实现
  8. 问问大家作为大数据总监,刚刚到一家新单位,怎么开展工作比较好?
  9. Windows下本机简易监控系统搭建(Telegraf+Influxdb+Grafana)--转
  10. spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)