11

我正在与 PigLatin 合作,使用 grunt,每次我“倾倒”东西时,我的控制台都会被等等等等,等等非信息所破坏,有没有办法抑制这一切?

grunt> A = LOAD 'testingData' 使用 PigStorage(':'); 转储 A;

2013-05-06 19:42:04,146 [main] INFO org.apache.pig.tools.pigstats.ScriptState - 脚本中使用的 Pig 功能:未知
2013-05-06 19:42:04,147 [main] INFO
org. apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler - 文件连接阈值:100 乐观?错误 ...
...
--- 另一个像 50 行无用的上下文破坏垃圾在这里......直到--- ...
...
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - 成功!

现在我正在寻找 4 行信息:

(daemon,*,1,1,系统服务,/var/root,/usr/bin/false)
(uucp,*,,,/var/spool/uucp,/usr/sbin/uucico)
(taskgated,*,13,13,Task Gate Daemon,/var/empty,/usr/bin/false)
(networkd,*,24,24,网络服务,/var/empty,/usr/bin/false)
(安装助手,*,25,25,/usr/bin/false)
咕噜声>

---> 很明显,如果它出错,很好的很多信息很有帮助,但当它基本上工作得很好时就不行了。

4

4 回答 4

7

您需要设置 log4j 属性。例如:

$PIG_HOME/conf/pig.properties :
enable:
# log4jconf=./conf/log4j.properties

rename: log4j.properties.template -> log4j.properties

log4j.properties :
set info to error:
log4j.logger.org.apache.pig=info, A

您还可以设置 Hadoop 相关的日志记录级别:

log4j.logger.org.apache.hadoop = error, A
于 2013-05-07T07:57:18.040 回答
6

一个简单的方法似乎是重定向标准错误,如下所示。

但它会压制一切errors

pig -x local 2> /dev/null

还发现,如果您删除或重命名您的 hadoop 安装目录,基本上使其无法访问 pig,那么所有这些 INFO 消息都会消失。
更改 hadoop 中的日志记录级别并没有帮助,只是让您知道。

于 2015-01-08T04:31:33.430 回答
3

当你启动 pig 时,给它传递一个 log4j.properties 文件pig -4 <filename>

在我的例子中,conf目录中有一个 log4j.properties 并且设置名为org.apache.pigto的记录器的级别ERROR足以使记录器不那么冗长。

log4j.logger.org.apache.pig=ERROR, A
于 2013-05-07T07:38:56.523 回答
0

pig 有调试日志级别,需要在pig.properties文件中设置,

# Logging level. debug=OFF|ERROR|WARN|INFO|DEBUG (default: INFO)
#
# debug=INFO

在控制台上获得大量日志的原因,例如将其更改为 ERROR

于 2015-06-08T22:43:49.273 回答