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

网易杭州 QA Team

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

 
 
 
 
 

日志

 
 

一个关于log4j的悲伤的故事  

来自小马哥   2015-06-16 23:55:20|  分类: 环境配置 |举报 |字号 订阅

  下载LOFTER 我的照片书  |
一个关于log4j的悲伤的故事

今天调ci环境,log4j出错到生活无法自理,然后下班回家自己调试了下,也遇到类似问题

@Test public void testForMq() { System.out.println("do test"); log.info("ok"); }

运行mvn test或testng,存在如下问题,且无日志

Running TestSuite log4j:WARN No appenders could be found for logger (com.netease.qa.cloud.nce.bizTest.test.MqTest). log4j:WARN Please initialize the log4j system properly.

思考方向:十有八九是系统找不到log4j,简单的解决办法,在logger对象生成之前手动指定需要加载的log4j.properties

import org.apache.log4j.PropertyConfigurator; ...... @BeforeClass public static void setUp() { //加载.properties文件 PropertyConfigurator pc= new PropertyConfigurator(); pc.configure("D:\\workspace\\nce-web-test\\src\\log4j.properties"); }

日志生效

do test
[INFO ]22:26:43, [Class]MqTest, [Method]testForMq, ok
do test
[INFO ]22:26:43, [Class]MqTest, [Method]testForMq, ok
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.397 sec

Results :

Tests run: 2, Failures: 0, Errors: 0, Skipped: 0

手动加代码总是不开心的,哥又开始看官方文档了

Set the resource string variable to the value of the log4j.configuration system property. The preferred way to specify the default initialization file is through the log4j.configuration system property. In case the system property log4j.configuration is not defined, then set the string variable resource to its default value “log4j.properties”.

可以将log4j.configuration设置到环境变量来让log4j读取该配置,如在maven-surefire-plugin中添加如下元素,这样指定路径下的log4j配置就会生效

<systemProperties> <systemProperty> <name>log4j.configuration</name> <value>file:/${basedir}/log4j.properties</value> </systemProperty>

按照官方所说,如果没有设置log4j.configuration,那么就会去取log4j.properties,问题是这个log4j.properties默认放哪呢?

脑中浮现的是电梯间林忆莲的歌词:

万福玛利亚 耶稣基督
释迦牟尼 OM MA PE ME HON
怜悯我吧 告诉我吧
log4j.propertie 放在哪里

有人说放在src下,有人说放在classpath下,终于在Stack Overflow 找到了答案:

If using maven, usually you put log4j.properties under java or resources?
然后把log4j.properties放到resources目录下,结果一切正常了,一个晚上就这么过去了,这就是一个悲伤的故事

  评论这张
 
阅读(263)| 评论(2)
推荐 转载

历史上的今天

评论

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

页脚

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