在Log4J中存在几个概念首先介绍一下,最最重要的两个是Logger和Appender(请参考Log4J手册),其实是继承层次以及输出控制。
首先,Log4J中总是存在一个rootLogger,即使没有显示配置也是存在的,并且默认输出级别为DEBUG。其它的logger都继承自这个rootLogger(如果其他logger未单独定义其输出级别)。
其次,Log4J中的层次是用'.'来分隔的,如log4j.logger.com.example.test,这里并不是说log4j.logger后面一定是具体的包名乃至类名,这个名称可以自定义,我们甚至可以定义一个log4j.logger.A.B.C, 在类里取名称为A.B的logger,如:
Logger logger = Logger.getLogger("A.B")
上例中我们建立了3个logger实例,它们分别是"A"、"A.B"、"A.B.C"。每次我们在系统中取得logger时,并不是新建实例,这些实例是系统启动的时候就按照配置文件初始化好的(也可能是第一次引用的时候建立的,然后缓存其实例供以后使用,这部分还没有时间研究)。
限制appender叠加性
例1:未限制叠加
log4j.rootLogger=DEBUG, Console
log4j.logger.A=DEBUG, Console
log4j.logger.A.B=INFO, Console
对于logger A.B输出的任何日志会往控制台输出三次,原因是A.B继承A的以及A的父logger的所有appender,
这种继承关系仅仅是把父logger的appender添加到自己的appender列表中,父logger的输出level不会影响
子logger的输出。
例2:限制appender叠加
log4j.rootLogger=DEBUG, Console
log4j.logger.A=DEBUG, Console
log4j.logger.A.B=INFO, Console
log4j.additivity.A.B=false
logger A.B的日志仅会输出到自己Console中,不会继承任何父logger的appender。
控制appender的输出级别
若想对输出到appender中的日志级别进行限制的话,就需要用到threshold来控制。
log4j.threshold=ERROR
用来控制所有的appender,即输出到所有appender的日志,不管原来是什么级别的,都不能低于threshold所规定的级别。
log4j.appender.Console.threshold=ERROR
用来控制指定的appender的输出级别。
分享到:
相关推荐
Android高级应用源码-Android开发的日记打印工具类Log4jForAndroid和LogUtil.zip
一组专为高负载应用程序设计的高级Log4J附加器。 其中:TimeAndSizeRollingFileAppender,ThreadSafeAsyncAppender,DbcpDataSourceAppender,JndiDataSourceAppender等。还包括在JBoss环境中使用的包装器
第2篇JSP高级技术分为7章,深入剖析了主流的Web开发框架,包括EL表达式语言、JSTL、自定义标签、Log4j、Hibernate、Spring框架;第3篇Java Web技术应用分为5章,介绍具体场景下的应用案例,包括注册登录模块的应用、...
非常优秀的java及javaweb教程,how2j全站教程,包括java基础、java初级、java高级、java应用、前端技术,包括html、css、JavaScript、HTML DOM、json、ajax、jquery、bootstrap、vue.js、node.js、webpack、chartjs...
使用 Log4net 高级调试和监控您的 MVC 应用程序(加上 log4j、log4php 的示例) 作者 Theeranit Pongtongmuang (Amm) 工程副总裁 Noonswoon Co., Ltd 我们正在招聘,请访问
又对log4j、dom4j、junit和 jfreechart等工具的使用方法进行了介绍。《搞定j2ee核心技术与企业应用:ajax,jsp,struts 2,spring,hibernate》的目的就是使读者快速学会工具的使用。最后,笔者按照软件的开发过程,...
主要内容包括:tomcat和java web开发的基础知识、java web开发的高级技术、在java web应用中运用第三方提供的实用软件(如struts、velocity和log4j)的方法,以及tomcat的各种高级功能。 书中内容注重理论与实践相...
主要内容包括:Tomcat和Java Web开发的基础知识、Java Web开发的高级技术、在Java Web应用中运用第三方提供的实用软件(如Struts、Velocity和Log4J)的方法,以及Tomcat的各种高级功能。 书中内容注重理论与实践相...
推荐完整精品J2EE课件 JavaEE程序设计与应用开发教程 19 log4j和Ant(共25页).ppt 推荐完整精品J2EE课件 JavaEE程序设计与应用开发教程 20 DOM和SAX(共33页).ppt 推荐完整精品J2EE课件 JavaEE程序设计与应用开发...
【完整课程列表】 01 JavaEE介绍和环境配置(共30页) 02 JDBC(共45页) 03 JSP基础编程(共46页) 04 JSP内置对象(共48页) ...19 log4j和Ant(共25页) 20 DOM和SAX(共33页) 上机习题(共5页)
主要内容包括:Tomcat和Java Web开发的基础知识、Java Web开发的高级技术、在Java Web应用中运用第三方提供的实用软件(如Struts、Velocity和Log4J)的方法,以及Tomcat的各种高级功能。 书中内容注重理论与实践相...
主要内容包括:tomcat和java web开发的基础知识、java web开发的高级技术、在java web应用中运用第三方提供的实用软件(如struts、velocity和log4j)的方法,以及tomcat的各种高级功能。 书中内容注重理论与实践相...
主要内容包括:tomcat和java web开发的基础知识、java web开发的高级技术、在java web应用中运用第三方提供的实用软件(如struts、velocity和log4j)的方法,以及tomcat的各种高级功能。 书中内容注重理论与实践相...
主要内容包括:tomcat和java web开发的基础知识、java web开发的高级技术、在java web应用中运用第三方提供的实用软件(如struts、velocity和log4j)的方法,以及tomcat的各种高级功能。 书中内容注重理论与实践相...
主要内容包括:Tomcat和Java Web开发的基础知识、Java Web开发的高级技术、在Java Web应用中运用第三方提供的实用软件(如Struts、Velocity和Log4J)的方法,以及Tomcat的各种高级功能。 书中内容注重理论与实践相...
主要内容包括:Tomcat和Java Web开发的基础知识、Java Web开发的高级技术、在Java Web应用中运用第三方提供的实用软件(如Struts、Velocity和Log4J)的方法,以及Tomcat的各种高级功能。 书中内容注重理论与实践相...
log4j使用教程.txt struts_action.txt struts标签.chm swing02.doc Tomcat.chm webAndXml.pdf 正则表达式.chm 网页常用的jsp 脚本.doc JSF入门简体中文版 struts标签中文 config 设计模式:Java语言中的应用.pdf ...
高级bash编程 高级Bash脚本编程指南(一) 目录 ++++ 第一部分. 热身 1. 为什么使用shell编程 2. 带着一个Sha-Bang出发(Sha-Bang指的是#!) 2.1. 调用一个脚本 2.2. 初步的练习 第二部分. 基本 3. 特殊...
用的开源工具框架、主要有版本管理工具SVN、日志工具commons-logging与Log4J、报表图形引擎 JFreeChart、PDF组件iText等;第9篇为实战篇,内容为两个典型的应用系统:论坛系统 (Spring+Struts+Hibernate)、宠物...
第8篇为工具篇,内容包括在Java Web项目中常用的开源工具框架、主要有版本管理工具SVN、日志工具commons-logging与Log4J、报表图形引擎JFreeChart、PDF组件iText等;第9篇为实战篇,内容为两个典型的应用系统:论坛...