如果你关注Java社区动态,你会发现Apache Log4j 2.13.1 发布了,新版本包含bug修复与一些非常小的功能增强。Log4j是Apache的一个开源项目框架,用于记录应用程序行为。既然谈到框架,接下来就给大家分享几个Java系统中常用的日志框架。
何为日志?在计算机领域,日志文件(logfile)是一个记录了发生在运行中的操作系统或其他软件中的事件的文件,或者记录了在网络聊天软件的用户之间发送的消息。

1、在Java程序中常用日志框架可以分为两类:
无具体实现的抽象门面框架,如:Commons Logging、SLF4J。
具体实现的框架,如:Log4j、Log4j 2、Logback、Jul。
Commons Logging
Apache Commons Logging是一个基于Java的日志记录实用程序,是用于日志记录和其他工具包的编程模型。它通过其他一些工具提供API,日志实现和包装器实现。
SLF4J
Java简易日志门面(Simple Logging Facade for Java,缩写SLF4J),是一套包装Logging 框架的界面程式,以外观模式实现。可以在软件部署的时候决定要使用的 Logging 框架,目前主要支援的有Java Logging API、Log4j及logback等框架。
Log4j
Apache Log4j是一个基于Java的日志记录工具。它是由Ceki Gülcü首创的,现在则是Apache软件基金会的一个项目。
JUL
JUL全称Java util Logger是java原生的日志框架,使用时不需要另外引用类库,相对其他日志框架方便,学习简单,能够在小型应用中灵活使用。JUL中Logger之间存在父子关系,这种父子关系通过树状结构存储,JUL在初始化时会创建一个顶层RootLogger作为所有Logger父Logger,存储上作为树状结构的根节点。并父子关系通过路径来关联。
2、日志级别:
FATAL — 表示需要立即被处理的系统级错误。
ERROR — 该级别的错误也需要马上被处理,但是紧急程度要低于FATAL级别。
WARN — 该日志表示系统可能出现问题,也可能没有,这种情况如网络的波动等。
INFO — 该种日志记录系统的正常运行状态,例如某个子系统的初始化,某个请求的成功执行等。
DEBUG or TRACE — 这两种日志具体的规范应该由项目组自己定义,该级别日志的主要作用是对系统每一步的运行状态进行精确的记录。
3、日志级别优先级:
ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF
日志记录了系统行为的时间、地点、状态等相关信息,能够帮助我们了解并监控系统状态,在发生错误或者接近某种危险状态时能够及时提醒我们处理,同时在系统产生问题时,能够帮助我们快速的定位、诊断并解决问题。
如果你想快速掌握Java日志框架或者入行Java行业,可以关注我,定期发布技术热点和行业趋势分析。
本文介绍了Java程序中常用的日志框架,包括抽象门面框架CommonsLogging和SLF4J,以及具体实现框架Log4j、Log4j2、Logback和Jul。详细解释了日志级别及其优先级,并探讨了日志在系统监控和问题诊断中的重要作用。
1903

被折叠的 条评论
为什么被折叠?



