日志框架和日志系统

来源:互联网 发布:淘宝店买卖流程及费用 编辑:程序博客网 时间:2024/05/21 11:57

日志框架和日志系统

日志系统

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。这种日志不是给人看的
0 0