注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

网易杭州 QA Team

务实 专注 分享 做有态度的QA

 
 
 
 
 

日志

 
 

log4j使用小结  

来自哎哟喂嘞   2011-08-28 23:19:17|  分类: 接口测试 |举报 |字号 订阅

  下载LOFTER 我的照片书  |
日志是调试代码和查找问题的好帮手,log4j是目前我们实现输出日志的主要工具,通常我们都会把日志输出到控制台和文件里。这两个不同的输出目的地的日志内容需不需要是一模一样的呢?当打印的日志条目比较少的时候,这不是个问题,但如果有成千上万条日志的时候,我想大家都会有把重要信息显示到控制台,而把更详细的信息保存到文件中的需求,log4j就能很好的完成这项任务。

以运用httpclient进行接口测试为例,在测试用例中我们会打印一些显示执行步骤信息和简单的请求及响应的日志,同时httpclient包会有请求及响应的详细信息,包括请求url、header、body和响应header、body等,且httpclient日志的级别是debug。为了实现只打印测试用例中的执行步骤到控制台,我们可以将这些日志定义为info级别,将控制台对应的appender输出的最低级别设置为info
例如:
log4j.rootLogger=INFO,CONSOLE
log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.threshold = INFO
log4j.appender.CONSOLE.target = System.out

threshold的实际设置级别将覆盖之前定义的值,虽然这里两者都是INFO

如果我们又想在文件中区别测试用例中的日志和httpclient的日志,我们可以定义两个appender name,并将两者的target设置为不同的文件。
例如:
log4j.logger.hello.test=DEBUG,A1  # 定义hello.test包下logger的appender name为A1
log4j.logger.org.apache.http=DEBUG,httpclient  # 定义org.apache.http包下logger的appender name为httpclient
log4j.appender.A1 = org.apache.log4j.DailyRollingFileAppender 
log4j.appender.A1.file = log/testcase.log  # A1输出到testcase.log文件
log4j.appender.httpclient = org.apache.log4j.DailyRollingFileAppender 
log4j.appender.httpclient.file = log/httpclient.log  # httpclient输出到httpclient.log


  评论这张
 
阅读(652)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016