- 浏览: 80940 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
neptunecai:
2.创建nutch2.1的编译环境 这部分能详细些吗?比如:T ...
Nutch2.1 in eclipse
我们知道:
log4j.logger.XX cover ==> log4j.rootLogger
log4j.appender.XX.Threshold决定了最低接收级别
也就是说rootLogger首先决定所有log的输出级别,而log4j.logger.XX是对XX路径下的jar包的输出级别的修改,直接覆盖rootLogger
但是对于不同的输出口,他们的接收级别是不同的。
举例1:
log4j.appender.XX.Threshold门槛高于log4j.logger.XX时,
log4j.logger.com.test=debug
log4j.appender.A.Threshold=INFO
log4j.appender.B.Threshold=WARN
那么就算设定com.test输出的级别是debug,但是A只接收INFO级别以上的log,而B只接收WARN级别以上的log
举例2:
log4j.appender.XX.Threshold门槛低于log4j.logger.XX时,
log4j.logger.com.test=info
log4j.appender.A.Threshold=DEBUG
log4j.appender.B.Threshold=WARN
那么com.test只输出info级别的,而A下设定的是debug,那么com.test输出的所有的日志在A下可以全部显示(当然是info以上的,因为com.test只给出了info以上的)。而在B下设定是warn,虽然com.test输出info级别以上的log给B,但是B只接收warn以上的log。
通过这样的方式配置,可以限定在不同的输出口过滤不同等级的日志。
应用举例需求:
我们不太想输出一些第三方jar的日志,但是error级别以上的我们需要,我们想输出我们自己的包下debug以上级别的日志,但是在控制台我想看到所有的,而在日志文件下,我却只想写入warn级别以上的日志。对于这样的情况如何配置呢?
这个时候我们就根据依据的来配置一下log4j
首先来点背景设定
我们自己的jar包都是com.test开头
A代表控制台输出
B代表文件输出
当然那些都只是一个命名
好,我们开始。首先所有的第三方jar都不太想看到输出日志,但是error的级别以上的需要
log4j.rootLogger=error, A,B
这句的意思就是设定所有log输出给A,B的等级为error
然后,我们想输出我们自己的包下debug以上级别的日志。
log4j.logger.com.test=debug
这句是设定com.test包下的所有log输出级别为debug,这里的设定直接覆盖了rootLogger对com.test包的作用。
最后,在控制台我想看到所有的,而在日志文件下,我却只想写入warn级别以上的日志。
log4j.appender.A=org.apache.log4j.ConsoleAppender
#config A position output contain DEBUG level and up
log4j.appender.A.Threshold=DEBUG
log4j.appender.A.layout=org.apache.log4j.PatternLayout
log4j.appender.A.layout.ConversionPattern=%d [%-5p] %l:%t - %m %n
#in the daily files
log4j.appender.B=org.apache.log4j.DailyRollingFileAppender
log4j.appender.B.Threshold=WARN
log4j.appender.B.File=${root.path}/log/MyProject.log
log4j.appender.B.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.B.layout=org.apache.log4j.PatternLayout
log4j.appender.B.layout.ConversionPattern=%d [%-5p] %l:%t - %m %n
和日志级别无关的代码就不解释了。直接重点,
log4j.appender.A.Threshold=DEBUG
log4j.appender.B.Threshold=WARN
表示A的接收级别为debug,而B的接收级别为warn。这样,A就可以看到debug以上的所有日志,而写入B的只有warn级别以上的日志。
log4j.logger.XX cover ==> log4j.rootLogger
log4j.appender.XX.Threshold决定了最低接收级别
也就是说rootLogger首先决定所有log的输出级别,而log4j.logger.XX是对XX路径下的jar包的输出级别的修改,直接覆盖rootLogger
但是对于不同的输出口,他们的接收级别是不同的。
举例1:
log4j.appender.XX.Threshold门槛高于log4j.logger.XX时,
log4j.logger.com.test=debug
log4j.appender.A.Threshold=INFO
log4j.appender.B.Threshold=WARN
那么就算设定com.test输出的级别是debug,但是A只接收INFO级别以上的log,而B只接收WARN级别以上的log
举例2:
log4j.appender.XX.Threshold门槛低于log4j.logger.XX时,
log4j.logger.com.test=info
log4j.appender.A.Threshold=DEBUG
log4j.appender.B.Threshold=WARN
那么com.test只输出info级别的,而A下设定的是debug,那么com.test输出的所有的日志在A下可以全部显示(当然是info以上的,因为com.test只给出了info以上的)。而在B下设定是warn,虽然com.test输出info级别以上的log给B,但是B只接收warn以上的log。
通过这样的方式配置,可以限定在不同的输出口过滤不同等级的日志。
应用举例需求:
我们不太想输出一些第三方jar的日志,但是error级别以上的我们需要,我们想输出我们自己的包下debug以上级别的日志,但是在控制台我想看到所有的,而在日志文件下,我却只想写入warn级别以上的日志。对于这样的情况如何配置呢?
这个时候我们就根据依据的来配置一下log4j
首先来点背景设定
我们自己的jar包都是com.test开头
A代表控制台输出
B代表文件输出
当然那些都只是一个命名
好,我们开始。首先所有的第三方jar都不太想看到输出日志,但是error的级别以上的需要
log4j.rootLogger=error, A,B
这句的意思就是设定所有log输出给A,B的等级为error
然后,我们想输出我们自己的包下debug以上级别的日志。
log4j.logger.com.test=debug
这句是设定com.test包下的所有log输出级别为debug,这里的设定直接覆盖了rootLogger对com.test包的作用。
最后,在控制台我想看到所有的,而在日志文件下,我却只想写入warn级别以上的日志。
log4j.appender.A=org.apache.log4j.ConsoleAppender
#config A position output contain DEBUG level and up
log4j.appender.A.Threshold=DEBUG
log4j.appender.A.layout=org.apache.log4j.PatternLayout
log4j.appender.A.layout.ConversionPattern=%d [%-5p] %l:%t - %m %n
#in the daily files
log4j.appender.B=org.apache.log4j.DailyRollingFileAppender
log4j.appender.B.Threshold=WARN
log4j.appender.B.File=${root.path}/log/MyProject.log
log4j.appender.B.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.B.layout=org.apache.log4j.PatternLayout
log4j.appender.B.layout.ConversionPattern=%d [%-5p] %l:%t - %m %n
和日志级别无关的代码就不解释了。直接重点,
log4j.appender.A.Threshold=DEBUG
log4j.appender.B.Threshold=WARN
表示A的接收级别为debug,而B的接收级别为warn。这样,A就可以看到debug以上的所有日志,而写入B的只有warn级别以上的日志。
发表评论
-
jetty 对请求头的限制
2014-02-13 14:30 5590当浏览器发起请求时 出现http code 413 问题 fu ... -
java 最基础的设置介绍
2013-04-15 23:05 1239用java不长不短快5年了,最近在看一些基础的书籍,也想起很久 ... -
Hessian 初体验
2013-03-27 17:36 1158Hessian 官网:http://hessian.cauch ... -
Nutch2.1 in eclipse
2013-03-10 00:22 9410Nutch2.1 in eclipse 主要目的: 1. 将 ... -
LDAP connection issue
2012-10-23 16:25 1698Problem1: Sometimes we can not ... -
restlet2.0学习——请求超时设置
2012-09-26 11:01 2298一般,我们在请求一个rest service的时候,总是希望可 ... -
[转载]checkStyle使用手册
2012-08-23 20:28 6828Checkstyle是SourceForge下的一个项目,如名 ... -
[转载]高性能JAVA开发之内存管理
2012-08-13 21:53 1313这几天在找一个程序的bug,主要是java虚拟机内存溢出的问题 ... -
[转载]How to write LDAP search filters
2012-08-10 10:57 1389This document outlines how to g ... -
restlet2.0学习(extend)-restlet日志信息写入log4j中
2012-08-07 15:32 4009使用过restlet的人都知道,restlet使用的是JDK的 ... -
log4j配置
2012-05-30 11:36 1400log4j.rootLogger 根路径下的所有logger输 ... -
Restlet2.0学习——简单WebApp多Application与表单提交
2012-05-23 23:16 3532之前我们提到过简单的WebApp实现,使用的是一个applic ... -
Restlet2.0学习——文件路径访问
2012-05-22 14:42 1199由于就是官方的实例照搬了一下,简单尝试没有问题。就先把代码贴出 ... -
Restlet2.0学习——文件路径访问+BASIC认证
2012-05-22 14:38 1730这篇主要是让我们学习对于一些静态页面如何更加简单有效的去访问他 ... -
对RAM做简单的池化实现
2012-05-22 13:59 1517首先由于项目的关系需要使用IBM的Rational Asser ... -
Restlet2.0学习——简单WebApp实现
2012-05-21 22:09 6493由于自己最近正在学习R ... -
HTMLPOST和GET编码问题(深入篇)
2011-07-07 02:12 11367浏览器 IE/FireFox -------——----> ...
相关推荐
Log4j2实现不同线程不同级别日志输出到不同的文件中 源码+log4j jar包
log4j-如何控制指定类,包的日志输出级别: https://blog.csdn.net/u011479200/article/details/102476242
log4j相关支持的jar Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条...
log4j按功能保存日志
Loggers组件的主要功能是提供相应API,根据不同配置的loggers将不同级别的log输入到控制台或文件,类似于java中经常用到的System.out.println,但是log4j封装后的loggers组件能够输出更丰富的信息,包括时间,线程,...
Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式...
Log4j有三个主要的组件:Loggers,Appenders和Layouts,这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松的记录信息的类型和级别,并可以在运行时控制日志输出的样式和...
在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-Log4j。 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的...
###log4j.appender.D=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.File =logs/error.log ## 异常日志文件名log4j.appender.D.Append =truelog4j.appender.D.Threshold =ERROR ##...
Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式...
下面小编就为大家带来一篇Log4j按级别输出日志到不同文件的实现方法。
#如果一条日志信息的级别大于等于配置文件的级别,就记录配置输出源所对应的辅助类:log4j.appender.输出源名称=类名,如果输出到文件就写FileAppender #指定文件名 Tomcat的根目录: #指定布局方式(消息放入文件...
log4j 通过配置完成多级别输出到多文件中,并且可以发送邮件到指定目的地。
在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-Log4j。 官方站点:http://logging.apache.org/log4j/ Log4j是Apache的一个开放源代码...
log4j2在项目中的配置,对不同级别的日志进行不同文件的存储
Log4J(Log for java)是Apache的一个开放源代码项目,它是一个日志操作包,通过使用Log4J,可以指定日志信息输出的目的地,如控制台、文件、CUI组件、NT的事件记录器;还可以控制每一条日志输出格式。此外,通过...
java 日志log4j加载 Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条...
log4j的jar包以及如何修改控制台输出信息的级别
Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式...