flume - flume.root.logger = DEBUG,控制台只记录INFO级日志语句

时间:2014-11-30 02:59:39

标签: flume flume-ng

我在CentOS(cloudera VM)中安装了Flume 1.4.0-cdh4.7.0

我运行以下命令启动水槽

flume-ng agent -n agent-name -c conf -f conf / flume.conf -Dflume.root.looger = DEBUG,console

但它只是将默认(INFO)级别写入控制台。想不通为什么?

4 个答案:

答案 0 :(得分:5)

命令行中有一个拼写错误:

flume-ng agent -n agent-name -c conf -f conf/flume.conf -Dflume.root.looger=DEBUG,console

它代表 root.looger ,而不是 root.logger ,因此您的命令行选项会被log4j.propeties中的某些内容覆盖文件

答案 1 :(得分:3)

-Dflume.root.logger 属性会覆盖 conf / log4j.properties 中的根记录器以使用控制台appender。如果你没有覆盖根记录器,一切都会工作,但输出将转到文件 log / flume.log 。当然,您也可以编辑 conf / log4j.properties 文件并更改flume.root.logger属性(或您喜欢的任何其他内容)。

答案 2 :(得分:1)

如果将水槽的bin目录(包含flume-ng shell)放在PATH上,它将无法工作。您必须从flume的根目录启动它,并在 conf / log4j.properties 内放置所需的日志记录级别,在本例中为DEBUG。 然后,只有这样它才会在所需级别登录文件或控制台。

答案 3 :(得分:1)

您应该使用它来在控制台中获取调试级别信息。

  

bin / flume-ng agent --conf ./conf/-f conf / flume.conf -Dflume.root.logger = DEBUG,console -n agent