📜  log4j-概述

📅  最后修改于: 2020-11-12 05:49:08             🧑  作者: Mango


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 Software License(Apache软件许可)进行分发,Apache Software License是经过开放源代码倡议认证的成熟的开放源代码许可证。

  • 可以在http://logging.apache.org/log4j/中找到最新的log4j版本,包括其完整的源代码,类文件和文档。

log4j功能

  • 这是线程安全的。

  • 它针对速度进行了优化。

  • 它基于命名的记录器层次结构。

  • 每个记录器支持多个输出附加程序。

  • 它支持国际化。

  • 它不限于一组预定义的设施。

  • 可以在运行时使用配置文件设置日志记录行为。

  • 它旨在从一开始就处理Java异常。

  • 它使用多个级别,即ALL,TRACE,DEBUG,INFO,WARN,ERROR和FATAL。

  • 通过扩展Layout类,可以轻松更改日志输出的格式。

  • 日志输出的目标以及写入策略可以通过Appender接口的实现来更改。

  • 这是失败停止。但是,尽管log4j当然尽力确保交付,但并不能保证每个log语句都将交付到其目的地。

日志记录的利与弊

日志记录是软件开发的重要组成部分。编写良好的日志记录代码可提供快速调试,轻松维护以及应用程序运行时信息的结构化存储的功能。

日志记录也确实有其缺点。它可能会使应用程序变慢。如果太冗长,则可能导致滚动失明。为了减轻这些担忧,log4j被设计为可靠,快速和可扩展的。

由于日志记录很少是应用程序的主要重点,因此log4j API努力使之易于理解和使用。