日志框架学习及Log4j 2 概念整理

日志框架分类

日志框架按照功能可以分为日志接口、日志实现两部分。

编写程序时,推荐使用日志接口的 API 进行方法调用,然后使用对应的日志实现框架打印日志。

常用日志框架的使用方式为: Log4j2-api(接口) + Log4j2-core(实现)。SLF4J(接口)+ 其它日志框架实现。

  • 日志接口,日志的接口规范,它对用户提供了统一的日志接口,屏蔽了不同日志组件的差异。

    • Apache Commons Logging Component,2014 年之后文档没有再更新

    • SLF4J(Simple Logging Facade for Java),定义了各种日志框架(java.util.logging, logback, log4j 等)的抽象,是 Java 日志输出的标准接口。需引入 slf4j-api-xxx.jar

      • slf4j-api 不同版本是互相兼容的,不同系统之间的 slf4j-api 版本不同并不会造成冲突;但是其实现类是可能存在冲突的,例如使用 slf4j-api-1.0.jar 和 slf4j-simple-1.0.jar 是没有问题的,但是使用 slf4j-simple-2.0.jar 可能存在问题。在引入相关依赖的时候,要保证 slf4j-api 的版本和其实现日志框架的版本一致!
    • Log4J2 api,log4j 2-api 包和 slf4J 类似,定义日志输出接口规范,具体日志输出形式根据依赖的日志实现 jar 包确定

  • 日志实现,定义具体日志打印内容

    • JDKLog,java.util.logging.Logger,jdk 自带的日志工具类,它通过 getLogger 获取日志对象、setLevel 定义日志级别、Handler 定义日志输出方式 (输出到文件、控制台、网络流)、Formatter 定义日志输出样式。需引入 slf4j-jdk14-xxx.jar

    • LOGBack,继承于 Log4J,官网表示它可作为 log4j 的 successor(继承者),比 log4j 更好!它包括 3 个模块:

      • logback-core,下面两个模块的基础依赖
      • logback-classic,对 log4j 进行了显著地改进,实现了 SLF4J API,方便随时切换日志框架。
      • logback-access,与 Servlet 容器(Tomcat、Jetty)进行集成,提供 HTTP 访问日志功能。
    • Log4J,2015 年开始已经停止维护

    • Log4J2 core Log4J 升级版,2019-08-06 版本更新至 2.12.1,API 相关用法不兼容 1.X 版本

Log4j 2 内置概念

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值