1.常见的日志框架
日志框架 | 介绍 |
jul(java.util.logging) | jdk1.4加入,为了对抗log4j,效率灵活性较差使用较少 |
log4j | 最广泛应用的日志框架,成为事实上的标准 |
logback | 基于slf4j-api接口实现,性能高于log4j |
log4j2 | 重写了log4j,性能高于log4j,logback |
注:log4j、logback、log4j2是同一个作者Ceki Gülcü
上面介绍了四种日志框架,到底用哪个日志框架,现在广泛应用的还是log4j,如果负载较高可以考虑使用logback和log4j2.
但是如果两个系统相互依赖,用的不同的日志框架,难道需要依赖两个日志框架么?
Apache和log4j的作者提供两种选择,JCL(commings-log)和SLF4J(simple log facade for java)两个日志框架的门面。提供了统一的日志抽象接口,适配和转接了各种日志框架,使用者只用调用抽象层统一的接口就行了。应用层不直接依赖实际的日志实现。
2.日志门面JCL和SLF4J
日志门面 | 介绍 |
JCL(commings-log) | Apache提供的comming-log |
SLF4J(simple log facade for java) | Log4j、Logback、Log4j2作者提供 |
3.日志体系各种包总结
日志框架 | 包 |
log4j | 只有log4j |
log4j2 |
log4j-api(日志接口)
log4j-core(log4j-api的实现)
|
logback |
logback-core(logback核心包)
logback-classic(slf4j-api的实现)
|
commons-logging |
commons-logging (jcl)
log4j-jcl(commons-logging到log4j的桥梁)
jcl-over-slf4j(commons-logging到slf4j的桥梁)
|
slf4j |
slf4j转向某个实际日志框架:
slf4j-jdk14:slf4j到jdk-logging的桥梁
slf4j-log4j12:slf4j到log4j1的桥梁
log4j-slf4j-impl:slf4j到log4j2的桥梁
logback-classic:slf4j到logback的桥梁
slf4j-jcl:slf4j到commons-logging的桥梁
某个实际日志框架转向slf4j:
jul-to-slf4j:jdk-logging到slf4j的桥梁
log4j-over-slf4j:log4j1到slf4j的桥梁
jcl-over-slf4j:commons-logging到slf4j的桥梁
|
4.集成实践
4.1 jcl与日志框架的集成
集成的框架 | 需要的包 |
jul |
commons-logging
jul
|
log4j |
commons-logging
log4j1
|
log4j2 |
commons-logging
log4j-api (log4j2的API包)
log4j-core (log4j2的API实现包)
log4j-jcl (log4j2与commons-logging的集成包)
|
logback |
jcl-over-slf4j (替代了commons-logging)
slf4j-api
logback-core
logback-classic
logback本身的使用其实就和slf4j绑定了起来,现在要想指定commons-logging的底层log实现是logback,则需要2步走
|
4.2 slf4j与日志框架的继承
集成的框架 | 需要的包 |
jul |
slf4j-api
slf4j-jdk14
|
log4j |
slf4j-api
slf4j-log4j12
log4j
|
log4j2 |
slf4j-api
log4j-api
log4j-core
log4j-slf4j-impl (用于log4j2与slf4j集成)
|
logback |
slf4j-api
logback-core
logback-classic(已含有对slf4j的集成包)
|
相关推荐
日志系统实现工具 java.util.logging(jul) JDK中实现的日志系统。 log4j 早得到广泛使用的日志系统。 logback log4j的改良版本,比log4j拥有更多的特性,同时也带来很大性能提升。 logback分为...
关于java程序员发展需要学习的路线整理集合 技术 应用技术 计算机基础知识 cpu mem disk net 线程,进程 第三方库 poi Jsoup zxing Gson 数据结构 树 栈 链表 队列 图 操作系统 linux 代码控制...
13、工作周报:各部门负责人可每周对部门工作进行汇报,填写相关信息,以便及时梳理工作,反馈问题,及时解决。同时,系统会存储历史记录。 14、通讯录:用户可填写同事好友的通讯方式,拥有自己的通讯录。可方便...
- 论文:涵盖了整个Java ASP Web系统的基础知识,设计意图、需求概述、系统结构与设计哲学、相关技术的深入探索等。学生可以从论文中理解项目的全局构想和关键设计决策。 - 设计文档:详细梳理了系统的构建过程,...
鹰眼是淘宝的分布式日志跟踪系统,通过收集和分析在不同的网络调用中间件上的日志埋点,可以得到同一次请求上的各个系统的调用链关系,有助于梳理系统间的依赖来源关系、容量规划,也有助于分析系统调用瓶颈、定位...
技术层面,从全栈的角度系统梳理和详尽讲解了大数据的核心技术,包括Spark、Druid、Flume、Kafka等,让我们在纷繁复杂的技术中少走弯路;经验层面,为企业的大数据技术选型和大数据平台建设提供了成熟的解决方案;...
javaSE(java8)-> juc-> jvm-> spring-> springmvc-> springboot-> springcloud-> nio-> netty +大数据 3,学习去 欲速则不达 练级指引: 先玩命的补全知识体系,形成完整的大局观!只有前瞻性技术视野!再逐一击破...
它是一种提供 高可用、高可靠、分布式海量日志采集、聚合和传输的系统。Flume 支持在日志系统中定制各类数据进行发送,用于采集数据;同时,它支持对数据进行简 单处理,并写到各种数据接收方。目前有两个版本,OG和...
Logstash是一个开源数据搜集引擎,支持实时数据管道功能。Logstash可以动态整合分散的数据源,根据你的选择对数据标准化。根据不同的高级下游分析和可视化用例对数据进行梳理。
java8 集合源码分析 Java架构师--成神之路 修改记录 版本 编写时间 作者 描述 v1.0.0 2019-10-29 Rock.Sang 梳理大纲 v1.0.1 2019-11-15 Rock.Sang 完善所有目录结构 v1.0.2 2020-01-07 Rock.Sang 添加英语模块 v...
◦系统日志管理 记录进入系统中的每个用户访问的每个功能 ◦数据源管理 可以设置多种数据源,为在线表单设计及展示提供数据来源 ◦资源管理 管理系统的所有资源,包括URL,业务方法等,提供给安全管理进行极限配置 ...
对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。 课程大纲...
springboot2-log4j2-demo springboot2+log4j2简单demo,以后开发,需要用到哪种配置,或者需要集成log...#第二版第一次提交,梳理了日志输入是逻辑,可以只输入info日志,或者输入info级别以上日志。 #增加了包级别设置
该人的活动的历史日志存储为元组(start_time,end_time,activity_label),其中start_time和end_time代表每个活动开始和结束的日期和时间,而活动标签则代表该人执行的活动的类型: ,卫生间,淋浴,睡觉,早餐,...
06.03.01 BPS系统信息表、审计日志表和定时器表 06.03.02 流程定义表、流程实例表和流程实例属性表 06.03.03 代理关系表、代理项明细表和代理人范围表 06.03.04 活动实例表、工作项表和参与者表 06.03.05 迁移线...
请求链路追踪,故障快速定位:可以通过调用链结合业务日志快速定位错误信息。 可视化:各个阶段耗时,进行性能分析。 依赖优化:各个调用环节的可用性、梳理服务依赖关系以及优化。 数据分析,优化链路:可以得到...
流程介绍:一般开始前会进行资产梳理,并通过漏洞扫描,渗透测试以及基线检查等做一些自查,一是可以减少暴漏面,二是减少一些风险点。有些厂商还会利用几天的时间进行一次内部演练,及时发现疏忽处并进行相应整改;...
#秒杀技术重新梳理 ##redis分布式锁 >首先要了解的乐观锁是什么? > 数据库乐观锁,数据库增加一个版本标识 >redis乐观锁通过watch命令监视给定的key,当exec时候如果监视的key从调用watch后发生过变化,则整个事务...