HBaseTestingUtility - 更改日志记录级别

时间:2017-12-19 15:48:17

标签: java hadoop logging junit logback

我们使用HBaseTestingUtility对HBase相关代码进行单元测试。问题是在执行单元测试时,输出会填充org.apache.hadoop.* DEBUG消息

HBaseTestingUtility utility = new HBaseTestingUtility();
utility.startMiniCluster();

我尝试了不同的东西(配置log4j等)来将日志记录级别设置为INFO或WARN - 但没有成功。谷歌搜索也没有帮助找到解决方案。

知道如何更改Hadoop clases的日志记录级别吗?

谢谢!

注意:以下是日志中的一些示例调试消息:

... 15:37:14.398 [IPC Server handler 8 on 45239] DEBUG org.apache.hadoop.ipc.Server - IPC Server handler 8 on 45239: responding to org.apache.hadoop.hdfs.protocol.ClientProtocol.getFileInfo from 127.0.0.1:41140 Call#1757 Retry#0 15:37:14.398 [IPC Server handler 8 on 45239] DEBUG org.apache.hadoop.ipc.Server - IPC Server handler 8 on 45239: responding to org.apache.hadoop.hdfs.protocol.ClientProtocol.getFileInfo from 127.0.0.1:41140 Call#1757 Retry#0 Wrote 33 bytes. ...

1 个答案:

答案 0 :(得分:0)

解决方案是使用logback.xml配置。 E.g:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <layout class="ch.qos.logback.classic.PatternLayout">
      <Pattern>
        %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
      </Pattern>
    </layout>
  </appender>

  <root level="warn">
    <appender-ref ref="STDOUT" />
  </root>

</configuration>