我如何在HBase客户端应用程序中禁止INFO日志? [英] How can I suppress INFO logs in an HBase client application?

查看:84
本文介绍了我如何在HBase客户端应用程序中禁止INFO日志?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在编写一个访问HBase的Java控制台应用程序,但我无法弄清楚如何摆脱所有令人讨厌的INFO消息:

  13/05/24 11:01:12信息zookeeper.ZooKeeper:客户端环境:zookeeper.version = 3.4.5-1392090,构建于09/30/2012 17:52 GMT 
13/05/24 11:01:12信息zookeeper.ZooKeeper:客户端环境:host.name = 10.1.0.110
13/05/24 11:01:12信息zookeeper.ZooKeeper:客户端环境:java.version = 1.7.0_15
13/05/24 11:01:12信息zookeeper.ZooKeeper:客户端环境:java.vendor = Oracle Corporation
13/05/24 11:01:12信息zookeeper.ZooKeeper :客户端环境:java.home = / Library / Java / JavaVirtualMachines / jdk1.7.0_15.jdk / Contents / Home / jre

etc ...

我从客户端代码本身尝试了几个不同的东西,但没有一个明显的方法适用于我。 p>

这是一个不起作用的例子:

  Logger日志= Logger.getLogger(log4j.logger.org.apache.zookeeper); 
log.setLevel(Level.WARN);


解决方案

,例如:

  Logger.getLogger(org.apache.zookeeper)。setLevel(Level.WARN); 
Logger.getLogger(org.apache.hadoop.hbase.zookeeper).setLevel(Level.WARN);
Logger.getLogger(org.apache.hadoop.hbase.client)。setLevel(Level.WARN);

或者只是简单地操作rootlogger:

  Logger.getRootLogger()setLevel(Level.WARN)。 

注:在HBase 0.94.5上测试


I'm writing a Java console application that accesses HBase, and I can't figure out how to get rid of all the annoying INFO messages:

13/05/24 11:01:12 INFO zookeeper.ZooKeeper: Client environment:zookeeper.version=3.4.5-1392090, built on 09/30/2012 17:52 GMT
13/05/24 11:01:12 INFO zookeeper.ZooKeeper: Client environment:host.name=10.1.0.110
13/05/24 11:01:12 INFO zookeeper.ZooKeeper: Client environment:java.version=1.7.0_15
13/05/24 11:01:12 INFO zookeeper.ZooKeeper: Client environment:java.vendor=Oracle Corporation
13/05/24 11:01:12 INFO zookeeper.ZooKeeper: Client environment:java.home=/Library/Java/JavaVirtualMachines/jdk1.7.0_15.jdk/Contents/Home/jre

etc...

I have tried several different things from the client code itself, but none of the obvious ways have worked for me.

This is an example of something that didn't work:

Logger log = Logger.getLogger("log4j.logger.org.apache.zookeeper");
log.setLevel(Level.WARN);

解决方案

You may get rid of logging the packages one by one, e.g:

Logger.getLogger("org.apache.zookeeper").setLevel(Level.WARN);
Logger.getLogger("org.apache.hadoop.hbase.zookeeper").setLevel(Level.WARN);
Logger.getLogger("org.apache.hadoop.hbase.client").setLevel(Level.WARN);

Or just simply manipulate the rootlogger:

Logger.getRootLogger().setLevel(Level.WARN);

Note: tested on HBase 0.94.5

这篇关于我如何在HBase客户端应用程序中禁止INFO日志?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆