log4j - 概述

  • 简述

    log4j 是一个用 Java 编写的可靠、快速和灵活的日志框架 (API),它在 Apache 软件许可下分发。
    log4j 已移植到 C、C++、C#、Perl、Python、Ruby 和 Eiffel 语言。
    log4j 在运行时可以通过外部配置文件进行高度配置。它根据优先级级别查看日志记录过程,并提供将日志记录信息定向到各种目的地的机制,例如数据库、文件、控制台、UNIX 系统日志等。
    log4j 具有三个主要组件:
    • loggers: 负责捕获日志信息。
    • appenders:负责将日志信息发布到各个首选目的地。
    • layouts: 负责格式化不同风格的日志信息。
  • log4j 的历史

    • 始于 1996 年初,作为 EU SEMPER(欧洲安全电子市场)项目的跟踪 API。
    • 经过无数次的改进和几次化身,最初的 API 已经演变成 log4j,一种流行的 Java 日志记录包。
    • 该软件包在 Apache 软件许可证下分发,Apache 软件许可证是由开源计划认证的成熟的开源许可证。
    • 可以在http://logging.apache.org/log4j/找到最新的 log4j 版本,包括其完整源代码、类文件和文档。
  • log4j 特性

    • 它是线程安全的。
    • 它针对速度进行了优化。
    • 它基于命名的记录器层次结构。
    • 它支持每个记录器的多个输出附加程序。
    • 它支持国际化。
    • 它不限于一组预定义的设施。
    • 可以使用配置文件在运行时设置日志记录行为。
    • 它旨在从一开始就处理 Java 异常。
    • 它使用多个级别,即 ALL、TRACE、DEBUG、INFO、WARN、ERROR 和 FATAL。
    • 通过扩展Layout类可以轻松更改日志输出的格式。
    • 日志输出的目标以及写入策略可以通过 Appender 接口的实现来改变。
    • 它是故障停止。然而,虽然它肯定会努力确保交付,但 log4j 并不能保证每个日志语句都会被交付到其目的地。
  • 日志记录的优缺点

    日志记录是软件开发的重要组成部分。编写良好的日志代码可提供快速调试、易于维护和应用程序运行时信息的结构化存储。
    日志记录也有它的缺点。它可能会减慢应用程序的速度。如果过于冗长,可能会导致滚动失明。为了缓解这些担忧,log4j 被设计为可靠、快速和可扩展的。
    由于日志记录很少是应用程序的主要焦点,因此 log4j API 力求易于理解和使用。