日志框架和日志系统

日志框架和日志系统

日志系统

JUL(java.util.logging.*),JDK 1.4 自带的日志系统;JUL 并没有明显的优势来战胜Log4j,反而造成了标准的混乱——采用不同日志系统
的应用程序无法和谐共存;

Logback,是较新的日志系统,它是 Log4j 的作者吸取多年的经验教训以后重新做出的一套系统;它的使用更方便,功能更强,而且性能也更高;

Logback 不能单独使用,必须配合日志框架 SLF4J 来使用;

日志框架

JUL 诞生以后,为了克服多种日志系统并存所带来的混乱,就出现了“日志框架”。日志框架本身不提供记录日志的功能,
它只提供了日志调用的接口。日志框架依赖于实际的日志系统如 Log4j或 JUL 来产生真实的日志;

使用日志框架的好处是:应用的部署者可以决定使用哪一种日志系统(Log4j 还是 JUL),或者在多种日志系统之间切换,而不需要更改应用的代码;

JCL(Jakarta Commons Logging),这是目前最流行的一个日志框架,由 Apache Jakarta 社区提供;一些框架和老应用(如 Spring 等)
都依赖于 JCL;

SLF4J,这是一个最新的日志框架,由 Log4j 的作者推出;SLF4J 提供了新的 API,特别用来配合Logback的新功能。但 SLF4J同样兼容 Log4j;

使用日志框架和日志系统和一些约定

应用程序永远不需要直接调用日志系统,而是需要通过 SLF4j 或是 JCL 这样的日志框架来调用它们;
有些老的二方包或应用,应用程序直接使用了 Log4j 来调用日志系统;这样导致应用强依赖了 Log4j,如果想切换到 Logback,必须要使用桥接器
log4j-over-slf4j 将 Log4j 的调用桥接到 SLF4j 日志框架上;

一般写日志主要分为以下几种场景:

诊断日志:应用打印的异常信息,排查问题用,一般是给人看的,输出格式也比较随意,里面可能会有异常堆栈,或者排查问题用的一些文本信息

数据日志:一般是用来监控和数据分析的,可以人肉临时分析,也可以给机器分析,要求格式比较固定

系统日志:一般在日志式文件系统、NoSQL、DB中使用,像是binlog。这种日志不是给人看的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值