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