0

I have a standalone java application which uses log4j2 to print the logger statements. I have configured flume client and flume server. Flume server is working fine. When I run the java application, I get the connection created in server but the logger statements are not getting printed.

Here is the logger statements in Flume server console:

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

Please help me with this issue. How should I get the logger statements from java standalone application in Flume server console?

Thanks in advance.

4

2 回答 2

0

我得到了答案。Flume 服务器下载的文件不完整。我在 D:\apache-flume-1.3.1-bin\bin 文件夹中丢失了 Flume.bat。所以我再次下载了基于窗口的 apache flume 服务器文件。你可以在这里下载

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

现在,当我运行客户端应用程序时,所有记录器语句都显示在水槽服务器控制台中,水槽服务器 log4j.properties 中提到的文件附加程序。

于 2013-05-29T10:25:19.303 回答
0

为什么要在服务器控制台中查看日志事件?当您的系统满负荷运行时,会发生很多事件,您将不必要地减慢系统速度。

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

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

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

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

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

于 2013-05-27T17:37:18.820 回答