java日志框架与日志系统

日志框架:提供日志调用的接口,实际的日志输出委托给日志系统实现。

  • JCL(Jakarta Commons Logging):比较流行的日志框架,很多框架都依赖JCL,例如Spring等。

  • SLF4j:提供新的API,初衷是配合Logback使用,但同时兼容Log4j。

日志系统:负责输出日志

  • Log4j:较早的日志系统,可以单独使用,也可配合日志框架JCL使用

  • Logback:Log4j的替代产品,需要配合日志框架SLF4j使用

  • JUL(java.util.logging):JDK提供的日志系统,较混乱,不常用

日志系统使用方式



































日志框架 日志系统 说明
-- log4j log4j可单独使用,不推荐
JCL log4j log4j配合JCL使用
SLF4j logback logback配合SLF4j使用
SLF4j (SLF4j-Log4j12) + log4j log4j配合SLF4j使用,但需要使用SLF4j-Log4j12做桥接
SLF4j + JCL-over-SLF4j logback 使原来使用JCL+log4j的系统能使用logback输出日志
SLF4j + JCL-over-SLF4j SLF4j-log4j12 + Log4j 比较混乱的用法,框架使用SLF4j,但日志使用Log4j,同时兼容原来的JCL接口。这种使用方式多是由于复杂的包依赖,而每个包中使用了不同日志框架
SLF4j + JCL-over-SLF4j + log4j-over-slf4j SLF4j-log4j12 + log4j 更奇葩的用法,在上面的基础上还要兼容某些包直接使用log4j的场景

说明

  • JCL-over-SLF4j是兼容JCL接口并使用SLF4j日志框架的一个兼容框架,依赖SLF4j,但不能与JCL共存

  • SLF4j-Log4j12是为了能使Log4j工作于SLF4j环境而存在的一个兼容框架,与logback同作为日志系统,不能共存

  • log4j-over-slf4j是为了使用SLF4j框架并兼容直接使用log4j的场景

java日志框架与日志系统,布布扣,bubuko.com

时间: 2024-10-22 02:24:27

java日志框架与日志系统的相关文章

Java日志框架研究及常见配置

按照基本的定义,日志即是对程序运行过程中关键事件的记录:大体日志分为运行日志和开发日志,运行日志在业务层面记录一些关键事件,为后面的跟踪运行提供帮助,而开发日志大多数时候是调试日志,根据事件流的输出来调试程序:因为开发人员本身的关注领域,运行日志可能制作的比较少,难以达到跟踪业务流的作用,而即使是开发日志,因为开发的调试有各种技巧,即使是跟踪事件流,使用println也比日志配置简单多了,这是一个投资回报的问ti,而人经常性的是短视的,调试可能在这些人眼里根本不需要认真对待,没有前期的事件记录规

Java日志框架:slf4j作用及其实现原理

简单回顾门面模式 slf4j是门面模式的典型应用,因此在讲slf4j前,我们先简单回顾一下门面模式, 门面模式,其核心为外部与一个子系统的通信必须通过一个统一的外观对象进行,使得子系统更易于使用.用一张图来表示门面模式的结构为: 门面模式的核心为Facade即门面对象,门面对象核心为几个点: 知道所有子角色的功能和责任 将客户端发来的请求委派到子系统中,没有实际业务逻辑 不参与子系统内业务逻辑的实现 大致上来看,对门面模式的回顾到这里就可以了,开始接下来对SLF4J的学习. 我们为什么要使用sl

Springboot 系列(四)Spring Boot 日志框架

注意:本 Spring Boot 系列文章基于 Spring Boot 版本 v2.1.1.RELEASE 进行学习分析,版本不同可能会有细微差别. 前言 Spring 框架选择使用了 JCL 作为默认日志输出.而 Spring Boot 默认选择了 SLF4J 结合 LogBack.那我们在项目中该使用哪种日志框架呢?在对于不同的第三方 jar 使用了不同的日志框架的时候,我们该怎么处理呢? 1. 日志框架介绍 日志对于应用程序的重要性不言而喻,不管是记录运行情况还是追踪线上问题,都离不开对日

tomcat日志及logback相关日志框架

一.重点问题整理 1.1 关于logback.xml中的路径设置问题 准备金系统的logback.xml中设置的路径是: <!-- 定义日志文件 输出位置 --> <property name="log_dir" value="E:\logs" /> 在Windows环境下,会识别E:为系统的E盘,默认在E盘下创建logs文件夹.但是正在Linux环境下,不存在E盘,会将E:\logs识别为E:logs文件夹.此时为相对路径,而tomcat在

Java-最常用的Java日志框架整理

前言 Java程序员,我们开发了很多Java应用程序,包括桌面应用.WEB应用以及移动应用.然而日志系统是一个成熟Java应用所必不可少的,在开发和调试阶段,日志可以帮助我们更好更快地定位bug:在运行维护阶段,日志系统又可以帮我们记录大部分的异常信息,从而帮助我们更好的完善系统.本文要来分享一些Java程序员最常用的Java日志框架组件.1.log4j – 最受欢迎的Java日志组件 Log4j是一款基于Java的开源日志组件,Log4j功能非常强大,我们可以将日志信息输出到控制台.文件.用户

Java程序员最常用的8个Java日志框架

1.Log4j – 最受欢迎的Java日志组件 Log4j是一款基于Java的开源日志组件,Log4j功能非常强大,我们可以将日志信息输出到控制台.文件.用户界面,也可以输出到操作系统的事件记录器和一些系统常驻进程.更值得一提的是,Log4j可以允许你非常便捷地自定义日志格式和日志等级,可以帮助开发人员全方位地掌控日志信息. 官方网站:http://logging.apache.org/log4j/2.x/ 下面是使用Log4j的一个简单例子: 2.gclogviewer – Java日志查看工

Android应用程序框架层和系统运行库层日志系统源代码分析

文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6598703 在开发Android应用程序时,少不了使用Log来监控和调试程序的执行.在上一篇文章Android日志系统驱动程序Logger源代码分析中,我们分析了驱动程序Logger的源代码,在前面的文章浅谈Android系统开发中Log的使用一文,我们也简单介绍在应用程序中使Log的方法,在这篇文章中,我们将详细介绍Android应用程序框架

Java日志框架

1.概述 目前java应用日志收集都是采用日志框架(slf4j.apache commons logging)+日志系统(log4j.log4j2.LogBack.JUL等)的方式.而针对在分布式环境需要实时分析统计的日志,一般采用apache flume.facebook scribe等分布式日志收集系统. 日志框架:提供日志调用的接口,实际的日志输出委托给日志系统实现. JCL(Jakarta Commons Logging):比较流行的日志框架,很多框架都依赖JCL,例如Spring等.

转:Java程序员最常用的8个Java日志框架

作为一名Java程序员,我们开发了很多Java应用程序,包括桌面应用.WEB应用以及移动应用.然而日志系统是一个成熟Java应用所必不可少的,在开发和调试阶段,日志可以帮助我们更好更快地定位bug:在运行维护阶段,日志系统又可以帮我们记录大部分的异常信息,从而帮助我们更好的完善系统.本文要来分享一些Java程序员最常用的Java日志框架组件. 1.Log4j – 最受欢迎的Java日志组件 Log4j是一款基于Java的开源日志组件,Log4j功能非常强大,我们可以将日志信息输出到控制台.文件.