一、概述
Log4j是一套非常轻量级的日志框架,主要是以运行效率高,占用资源少,简单易用而著称,从而得到很多开发人员的喜爱,被广泛的应用各种领域的项目中。
Log4j主要是通过外部配置文件,对相关的日志操作设置进行配置,而实现了在运行时完全可配置的日志功能。主要意思就是,如果你在项目编码完成后,想调整一些日志操作的方式(比如:开发阶段,你可以需要看到DEBUG的信息,而生产环境中则不需要看到这类信息,基于这样的需求,只需要调用一下log4j的配置就可以实现。),只需要修改配置文件,而不需要重新编译代码就可以实现。
Log4j支持的语言比较广泛,Log4j支持的语言有:java、C、C++、C#、perl、Python、Ruby和Eiffel语言。
在编程的世界里,几乎每1个中、大型的应用程序都会包含自己的日志记录器和跟踪API。因为应用程序日志信息是程序员跟踪和调试、调优应用程序不可缺少的重要手段。有经验的人总结过,日志收集功能是开发项目中1个非常重要的组成部分。因为它能精确地提供应用程序运行的环境信息。一旦植入代码,不需要人工干预,就会自己收集日志。此外,日志文件还可以保存到持久化设备中,以备之后进行研究。一般情况下,项目中用于日志收集的代码约占项目代码总量的4%(不一定准确)。可见,日志功能是项目的组成之一,那么选择1个好的日志框架也会使你的项目开发更高效,程序运行更安全。
但是,日志收集也有是缺点,因为它有可能拖慢应用程序。
二、Log4j的重要组件
Log4j的重要组件有:Logger、Appender和Layout。
Logger:Logger是日志操作的实例;
Appender:日志输出目标,主要包括:console,files,GUI components, remote socket servers,JMS, NT Event Loggers,和 remote UNIX Syslog daemons等。
Layout:日志输出格式化程序,用于格式化输出的日志信息。
Log4j这3个重要组件协同工作,完成日志收集的工作。