Apache log4j

来自开放百科 - 灰狐
跳转到: 导航, 搜索
Wikipedia-35x35.png 您可以在Wikipedia上了解到此条目的英文信息 Apache log4j Thanks, Wikipedia.

Apache log4j可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT事件记录器、UNIX Syslog守护进程等,我们也可以控制每一条日志的输出格式,通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

Apache log4cxx 是针对 C++ 应用的日志框架。

把log语句插入到你的代码中是一种低技能的排错办法。这也许是唯一的方法,因为排错工具并不总是可以被使用或者适用于你的程序。对于distributed应用程序,通常就是这样的情形。

另一方面,一些人认为log statements污染了源代码并降低了可读性。在Java语言里,预处理器(preprocessor)不存在,log statements增加了代码的容量,并降低了速度,即使把logging关掉也是这样。对于一个大小适度的应用程序,它也许会包含许许多多的log statements,速度就非常重要了。

有了log4j,就有可能在运行时间启用日志(logging),而不需要修改应用程序的二进制编码。 log4j 软件包的设计让这些日志说明保留在代码里而不造成巨大的性能损失。日志行为可以通过编辑一个配置文件来控制,而不用去打动应用程序的二进制编码。

Logging给开发人员提供了关于程序失败的详细内容。另一方面,测试提供对这个应用程序的质量保证和信心。日志和测试不能被混淆。它们俩是互补的。日志(logging)在明智地被使用时,它是一个非常重要的工具。

log4j的一个与众不同的特性是loggers里的继承(inheritance)的观念。使用logger阶层,可以极其容易并非常精细的控制哪些日志说明被输出。这可以减少日志输出量,并减低日志的消费。

Log 输出的目标可以是一个文件,一个OutputStream,一个java.io.Writer,一个远程log4j服务器,一个远程Unix Syslog daemon,或者许多其他输出目标。

在一个AMD Duron 定时在800Mhz 的运行JDK 1.3.1上,大约需要5 毫微秒来决定一个日志说明是否应该被记录下来。实际上的日志也很快,从使用SimpleLayout的21微秒,到使用TTCCLayout的37微秒。 PatternLayout 的性能几乎和其他专用式样一样好,而且它具有更大的灵活性。

链接

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱