现在的位置: 首页 > 综合 > 正文

对log4j的简单了解 之一

2013年10月12日 ⁄ 综合 ⁄ 共 790字 ⁄ 字号 评论关闭

项目中一直在用,但没有系统看过log4j的资料,这两天详细看了一点

log4j apache麾下的一个项目进入http://logging.apache.org还可以找到log4j移植到c,c++,c#,Perl,Python,Rudy以及Eiffel的版本.主页上有韩国和日本的的log4j官方网站连接,文档资料中<<Short introduction to log4j>>有西班牙文和德文的翻译其余都是英文.

log4j有三个主要组件loggers,appender和layouts.loggers负责消息的类型和消息之间的等级关系,appenders负责log输出方式,layouts负责log最终输出的样式

loggers有个一个重要的属性就是Level的概念,log4j预定义了DEBUG, INFO, WARN, ERROR ,FATAL几种Level等级,顺序是从高到低,定义了DEBUG级别那边所有其他级别的log信息都会被输出,定义了FATAL级别其他的级别的信息则都不会被输出.如果某个logger没有明确指定Level的会自动继承最近的有级别的长辈的级别.

logger的继承关系是通过名称来确立的(Logger.getLogger(名称))
比如:
Logger  logger = Logger.getLogger("com.foo");
Logger barlogger = Logger.getLogger("com.foo.Bar");
barlogger就被认为是继承于logger的.

从官方资料了解的另外一个信息是一是当一个记录器实例化后,再一次用相同的名字调用getLogger()会返回对它的引用,这非常有利于用同一个记录器在不同代码或类中记录log信息,另一个是与自然界中祖先先于后代出现不同,一个记录器的祖先可以比后代记录出现的晚,但会自动根据名字之间的关系建立这种家族关系。 

抱歉!评论已关闭.