Log4j如何控制不同包的输入级别
2008-11-06 09:38
363 查看
Log4j如何控制不同包的输入级别
我们在做web开发,会使用spring和hibernate等框架,日志记录会使用log4j,这是如果设置调试的级别为debug的话,spring和hibernate以及其他web项目中用到的框架的调试信息也会输出的日志文件或者控制台中(输出依赖于Log4J的日志配置),这样我们真正需要的调试信息就会淹没在框架的debug信息中,毕竟我们是在开发Web应用,而不是在调试框架,如何控制spring和hibernate等的调试级别呢?
这是个非常重要的功能.但是大部分介绍 Log4J的资料,尤其是中文资料,竟然都没有写这部分.这里介绍其方法。通过设置log4j的logger来控制。
log4j.rootLogger=INFO,
stdout, logfile
细部控制如何控制。比如,想屏蔽Hibernate。那么这么设置。
og4j.logger.org.hibernate=FATAL
意思是,所有org.hibernate的子孙Logger都只显示符合 level >= FATAL 的信息。
小于 FATAL的信息,就不显示。
如果一个配置中有多个logger,他们之间会有什么关系呢?答案是,在输出上,他们没有任何关系,都是独立运作的,
不相关的,但是在配置上,父包的配置会传给子包,如果子包没有另外定义配置的话。
例如上面配置文件中的两个logger:
log4j.logger.com.wolfsquare
log4j.logger.com.wolfsquare.log2
这里认为 log4j.logger.com.wolfsquare.log2 继承自 log4j.logger.com.wolfsquare,他们的配置声明如下:
log4j.rootCategory=INFO, stdout, fileout
log4j.logger.com.wolfsquare.log2=,stdout
注意第二句没有指定输出级别,那么根据配置继承规则会继承父logger的配置,在这里就是INFO。
同时需要强调的是,如果两个logger有继承关系,且输出到同一个appender,根据输出独立原则,那么将会出现两行一样的信息,
例如上面的两个logger定义会导致这样的情况。
我们在做web开发,会使用spring和hibernate等框架,日志记录会使用log4j,这是如果设置调试的级别为debug的话,spring和hibernate以及其他web项目中用到的框架的调试信息也会输出的日志文件或者控制台中(输出依赖于Log4J的日志配置),这样我们真正需要的调试信息就会淹没在框架的debug信息中,毕竟我们是在开发Web应用,而不是在调试框架,如何控制spring和hibernate等的调试级别呢?
这是个非常重要的功能.但是大部分介绍 Log4J的资料,尤其是中文资料,竟然都没有写这部分.这里介绍其方法。通过设置log4j的logger来控制。
log4j.rootLogger=INFO,
stdout, logfile
细部控制如何控制。比如,想屏蔽Hibernate。那么这么设置。
og4j.logger.org.hibernate=FATAL
意思是,所有org.hibernate的子孙Logger都只显示符合 level >= FATAL 的信息。
小于 FATAL的信息,就不显示。
如果一个配置中有多个logger,他们之间会有什么关系呢?答案是,在输出上,他们没有任何关系,都是独立运作的,
不相关的,但是在配置上,父包的配置会传给子包,如果子包没有另外定义配置的话。
例如上面配置文件中的两个logger:
log4j.logger.com.wolfsquare
log4j.logger.com.wolfsquare.log2
这里认为 log4j.logger.com.wolfsquare.log2 继承自 log4j.logger.com.wolfsquare,他们的配置声明如下:
log4j.rootCategory=INFO, stdout, fileout
log4j.logger.com.wolfsquare.log2=,stdout
注意第二句没有指定输出级别,那么根据配置继承规则会继承父logger的配置,在这里就是INFO。
同时需要强调的是,如果两个logger有继承关系,且输出到同一个appender,根据输出独立原则,那么将会出现两行一样的信息,
例如上面的两个logger定义会导致这样的情况。
相关文章推荐
- log4j(三)——如何控制不同级别的日志信息的输出?
- (转)log4j(三)——如何控制不同级别的日志信息的输出?
- sd--如何控制定价条件根据用户不同而操作不同(有的可以输入有的不可以)
- Spring Boot中对log4j进行多环境不同日志级别的控制
- 如何灵活控制log4j日志输出级别
- sd--如何控制定价条件根据用户不同而操作不同(有的可以输入有的不可以)
- 52. spring boot日志升级篇—log4j多环境不同日志级别的控制【从零开始学Spring Boot】
- sd--如何控制定价条件根据用户不同而操作不同(有的可以输入有的不可以)
- (转)log4j(四)——如何控制不同风格的日志信息的输出?
- 52. spring boot日志升级篇—log4j多环境不同日志级别的控制【从零开始学Spring Boot】
- Spring Boot教程(五)对log4j进行多环境不同日志级别的控制
- Spring Boot中对log4j进行多环境不同日志级别的控制
- 如何在Log4j中根据输出需要控制log的显示级别
- Spring Boot中对log4j进行多环境不同日志级别的控制
- (转)log4j(五)——如何控制不同目的地的日志输出?
- log4j(五)——如何控制不同目的地的日志输出?
- 52. spring boot日志升级篇—log4j多环境不同日志级别的控制【从零开始学Spring Boot】(
- spring boot log4j多环境不同日志级别控制
- 如何利用Log4j将不同级别,不同package中Log输出到不同的文件中
- Spring Cloud Spring Boot mybatis分布式微服务云架构(三十九)对log4j进行多环境不同日志级别的控制