概述
log4j是一个用Java编写的可靠,快速和灵活的日志框架(API),它是在Apache软件许可下发布的。
log4j已移植到C,C ++,C#,Perl,Python,Ruby和Eiffel语言。
log4j可在运行时通过外部配置文件进行高度配置。 它根据优先级级别查看日志记录过程,并提供将日志记录信息导向各种目标的机制,例如数据库,文件,控制台,UNIX Syslog等。
log4j有三个主要组件:
loggers :负责捕获日志记录信息。
appenders :负责将日志信息发布到各个首选目的地。
layouts :负责格式化不同样式的日志信息。
log4j的历史
1996年初开始作为EU SEMPER(欧洲安全电子市场)项目的追踪API。
经过无数的增强和几个化身之后,最初的API已经发展成为log4j,这是一个流行的Java日志包。
该软件包根据Apache软件许可证进行分发,这是一个由开源计划认证的完整开源许可证。
最新的log4j版本,包括其完整源代码,类文件和文档,可以在http://logging.apache.org/log4j/找到。
log4j功能
它是线程安全的。
它针对速度进行了优化。
它基于命名的记录器层次结构。
它支持每个记录器的多个输出appender。
它支持国际化。
它不限于预定义的一组设施。
可以使用配置文件在运行时设置日志记录行为。
它旨在从一开始就处理Java异常。
它使用多个级别,即ALL,TRACE,DEBUG,INFO,WARN,ERROR和FATAL。
通过扩展Layout类可以轻松更改日志输出的格式。
可以通过Appender接口的实现来更改日志输出的目标以及写入策略。
它是失败的。 但是,尽管它确实努力确保传递,但log4j并不保证每个日志语句都将传递到其目标。
记录的优缺点
日志记录是软件开发的重要组成部分。 精心编写的日志记录代码提供快速调试,易于维护以及应用程序运行时信息的结构化存储。
记录也有其缺点。 它可以减慢应用程序的速度。 如果过于冗长,则会导致滚动失明。 为了缓解这些问题,log4j设计为可靠,快速和可扩展。
由于日志记录很少是应用程序的主要关注点,因此log4j API易于理解和使用。