禁用apache.http.wire DEBUG日志

时间:2017-07-01 17:11:08

标签: java logging travis-ci jena dbpedia

我使用Travis CI和我的github repo(java项目)。我的一个测试使用SPARQL和Jena从Dbpedia获取数据。它导致许多记录在日志中打印到Travis输出中,因此Travis失败。

例如日志示例:

14:52:58.756 [main] DEBUG org.apache.http.wire - http-outgoing-1 << "    {   
"pname": { "type": "literal", "xml:lang": "en", "value": "Yuen Poovarawan"
 }[0x9], "photo": { "type": "uri", "value": "http://commons.wikimedia.org 
 /wiki/Special:FilePath/Yuen_Poovarawan.jpg?width=300" }[0x9], "birth": { 
"type": "uri", "value": "http://dbpedia.org/resource/Thailand" }[0x9], 
"bDate": { "type": "typed-literal", "datatype": "http://www.w3.org
/2001/XMLSchema#date",   "value": "1950-11-05" }[0x9], "bExp": { "type": 
"uri", "value": "http://dbpedia.org/resource/Thailand" }},[\n]" 

所有这些日志都以[main] DEBUG org.apache.http.wire开头。我如何禁用它们让特拉维斯通过? 我找到了how to disable it using scala/logback.xml但是为控制台定义了log.xml。我需要帮助才能正确使用它,你能帮助/指导我吗?

1 个答案:

答案 0 :(得分:3)

创建一个包含以下内容的logback.xml:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <logger name="org.apache" level="ERROR" />
    <logger name="httpclient" level="ERROR" />
</configuration>

然后将此logback.xml放在您的java源代码中,以便它将包含在jar文件中。否则,从logback.xml创建一个jar,并将此jar放到你的lib中,在那里你可以获取所有的jar。

从logback.xml创建logback.jar的一种简单方法是使用ant。 使用以下代码创建build.xml:

<?xml version='1.0'?>
<project name="test" default="compile" basedir=".">
<target name = "build-jar">
   <jar destfile = "op/logback.jar"
      basedir = "in">
      <manifest>
        <attribute name = "Main-Class" value = "com.tutorialspoint.util.FaxUtil"/>
      </manifest>
   </jar>
</target>
</project>

创建一个目录结构,如:

| - build.xml

| - in - &gt; logback.xml

| - op - &gt; logback.jar //这将在执行ant命令

后生成

现在使用ant build-jar进行编译 你将有logback.jar。把这个罐子放到所有其他罐子里,它会删除org.apache.http.wire DEBUG日志