V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
twq0076262
V2EX  ›  Java

Log4j 教程 (一)

  •  1
     
  •   twq0076262 · 2015-08-31 15:21:39 +08:00 · 2412 次点击
    这是一个创建于 3159 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Log4j

    Log4j 是一个使用 Java 语言编写的,可靠、快速、灵活的日志框架( API ),使用 Apache Software License 授权。 Log4j 是一个使用 Java 语言编写的流行类库,它被移植到 C 、 C++、 C#、 Perl 、 Python 、 Ruby 和 Eiffel 语言中。

    适用人群

    该教程适用于初学者,帮助他们掌握 Log4j 的基本功能。

    学习前提

    在很多使用 Java 编写的应用中,都会用到 Log4j ,因此,读者对 Java 编程语言要有良好的掌握。

    概述

    Log4j 是一个使用 Java 语言编写的,可靠、快速、灵活的日志框架( API ),使用 Apache Software License 授权。

    它被移植到 C 、 C++、 C#、 Perl 、 Python 、 Ruby 和 Eiffel 语言中。

    Log4j 是高度可配置的,在运行期使用外部的配置文件对其进行配置。它按照优先级别记录日志,并可将日志信息定向输出到各种介质,比如数据库、文件、控制台、 Unix Syslog 等。

    Log4j 主要由三部分组成:

    • loggers:负责采集日志信息。
    • appenders:负责将日志信息发布到不同地方。
    • layouts:负责以各种风格格式化日志信息。

    Log4j 的历史

    • 始于 1996 年,作为记录 E.U. SEMPER (Secure Electronic Marketplace for Europe )项目跟踪信息的 API 。
    • 经过大量的完善和蜕变,最初的 API 终于演进为 Log4j ,一个在 Java 社区流行的日志类库。
    • 该类库使用 Apache Software License 授权,该授权是经开源促进协会认证的、完整的开源协议。
    • 最新版本的 Log4j ,连同其代码、类文件和文档可通过 http://logging.apache.org/log4j/ 获取。

    Log4j 的功能

    • 线程安全。
    • 速度优化。
    • 基于命名的 logger 层次。
    • 每个 logger 支持多种输出 appender 。
    • 支持国际化。
    • 不受限于预定义好的设施。
    • 日志记录行为可在运行期通过配置文件设置。
    • 设计之初就考虑了处理 Java 异常。
    • 使用多个日志级别: ALL 、 TRACE 、 DEBUG 、 INFO 、 WARN 、 ERROR 、 FATAL 。
    • 通过扩展 Layout 类可轻松改变输出日志的格式。
    • 输出日志的目的和策略可通过实现 Appender 接口改变。
    • 失败即停止。虽然 Log4j 努力做到最好,但不保证每一条日志都能发送到指定目的地。

    记录日志的优缺点

    记录日志是软件开发中的重要一环。编写良好的日志代码能为运行应用提供快速的诊断信息和良好的存储结构,方便维护。

    记录日志也有其缺点,它会让应用变慢。假如输出太详细,可能会导致屏幕闪动。为了减轻这些影响, Log4j 被设计为可靠的,更快的和可扩展的。

    由于日志很少是应用程序关注的焦点,所以 Log4j API 力争做到简单并易于理解和使用。

    原文出处: http://wiki.jikexueyuan.com/project/log4j/

    第 1 条附言  ·  2015-09-06 14:16:23 +08:00
    reeco
        1
    reeco  
       2015-08-31 15:39:50 +08:00 via iPhone
    1.x Apache 已经停止支持了
    GPU
        2
    GPU  
       2015-08-31 15:56:11 +08:00
    python 可以用这个框架做日志记录码?

    比 python 自带的库好用吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5604 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 01:36 · PVG 09:36 · LAX 18:36 · JFK 21:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.