日志未在Flume服务器控制台中打印

时间:2013-05-27 15:24:59

标签: client-server flume log4j2

我有一个独立的java应用程序,它使用log4j2来打印记录器语句。 我已经配置了flume客户端和flume服务器。 Flume服务器工作正常。当我 运行java应用程序,我得到了在服务器中创建的连接但是记录器语句 没有印刷。

以下是Flume服务器控制台中的记录器语句:

INFO  [lifecycleSupervisor-1-5] (org.apache.flume.source.AvroSource.start:168)  - Avro source r1 started.
INFO  [pool-7-thread-1] (org.apache.avro.ipc.NettyServer$NettyServerAvroHandler.handleUpstream:171)  - [id: 0x00633e5e, /127.0.0.1:56177 => /127.0.0.1:8800] OPEN
INFO  [pool-8-thread-1] (org.apache.avro.ipc.NettyServer$NettyServerAvroHandler.handleUpstream:171)  - [id: 0x00633e5e, /127.0.0.1:56177 => /127.0.0.1:8800] BOUND: /127.0.0.1:8800
INFO  [pool-8-thread-1] (org.apache.avro.ipc.NettyServer$NettyServerAvroHandler.handleUpstream:171)  - [id: 0x00633e5e, /127.0.0.1:56177 => /127.0.0.1:8800] CONNECTED: /127.0.0.1:56177

请帮我解决这个问题。我应该如何从Flume服务器控制台中的java独立应用程序获取logger语句?

提前致谢。

2 个答案:

答案 0 :(得分:0)

为什么要在服务器控制台中查看日志事件?当您的系统以满容量运行时会发生很多事件,并且您将不必要地降低系统速度。

我建议使用Flume文件滚动接收器将事件输出到日志文件,以便确认它们正在通过。

如果您真的想要,可以打开Flume服务器本身的日志记录。我认为DEBUG或TRACE级别将开始生成大量有关正在发生的事情的信息 - 包括实际的日志消息。

更新 我认为你混淆了两件事。

  1. Flume传输和存储日志语句。通常,这些日志语句是使用log4j之类的日志框架从源系统发送的。 Flume然后可以存储它们 - 例如在使用file_role接收器的文件中。

  2. Flume本身记录了它的行为。它也使用log4j并将写入文件。但是,Flume文档中没有任何关于Flume将其正在传输的事件写入其自己的日志的内容。

答案 1 :(得分:0)

我得到了答案。 Flume服务器的下载文件未完成。我在D:\ apache-flume-1.3.1-bin \ bin文件夹中遗漏了Flume.bat。所以我再次下载了基于窗口的apache flume服务器文件。您可以下载here

在flume.bat文件中设置FLUME_HOME,该文件可在D:\ apache-flume-1.3.1-bin \ bin文件夹中找到。 现在在命令提示符下,在D:\ apache-flume-1.3.1-bin \ bin下运行flume.bat启动flume服务器。

现在,当我运行客户端应用程序时,所有logger语句都显示在flume服务器控制台和flume服务器log4j.properties中提到的文件appender中。