日期:2014-05-18  浏览次数:20653 次

log4j调用问题请教
(1)private static Logger logger = Logger.getLogger(Hello.class);
通过这种方法去创建的logger记录器的原理是怎样的呢? logger记录器和根记录器关系是怎么样的呢?
(2)在log4j.properties中配置的 
log4j.logger.java.sql.Connection=DEBUG 又是怎么工作的呢? logger记录器怎么去关联上他呢?
log4j工作原理

------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

PropertyConfigurator.configure();这个方法会去读取配置文件。


你好,   你知道配置输出sql的时候有
log4j.logger.java.sql.Connection=DEBUG   
Connection类里面又没有logger.error("");语句,那这个连接信息从那里输出的呢?


你可以在配置文件中指定输出的位置,如果没有logger.error("");语句也会输出
只要有异常错误。
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

PropertyConfigurator.configure();这个方法会去读取配置文件。


你好,   你知道配置输出sql的时候有
log4j.logger.java.sql.Connection=DEBUG   
Connection类里面又没有logger.error("");语句,那这个连接信息从那里输出的呢?


你可以在配置文件中指定输出的位置,如果没有logger.error("");语句也会输出


那是不是只要在配置文件里定义了error的类都会在error的时候输出信息呢

可以配置不同的级别,如果配置是error,那么error以下级别信息不回输出。
------解决方案--------------------
(1)logger继承根,继承所有根的记录器
(2)这也是创建一个记录器java.sql.Connection并设定级别,如果他是一个类并在这个类里面有调用的话就会输出日志。如果他是一个包的话就会遵守点级关系,就是这个包下面的内容都继承这个包的级别和记录器