2013-05-27 176 views
0

我有一個獨立的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獨立應用程序中獲取記錄器語句?

在此先感謝。

回答

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服務器。

現在,當我運行客戶端應用程序時,所有記錄器語句都顯示在flume服務器控制檯中,並在flume服務器log4j.properties中提到文件appender。

0

爲什麼你想看到服務器控制檯中的日誌事件?當您的系統以滿負荷運行時,會發生很多事件,並且會不必要地減慢系統速度。

我會建議使用Flume文件卷接收器將事件輸出到日誌文件,以便您可以確認它們正在通過。

如果你真的想,你可以打開Flume服務器本身的日誌記錄。我認爲DEBUG或TRACE級別會開始產生大量關於正在發生的事情的信息 - 包括實際的日誌消息。

更新 我認爲你混淆了兩件事。

  1. 水槽運輸和存儲日誌報表。通常,這些日誌語句是使用日誌框架(如log4j)從源系統發送的。 Flume然後可以存儲它們 - 例如在使用file_role sink的文件中。

  2. Flume本身記錄其行爲。它也使用log4j並寫入文件。然而,Flume文檔中沒有關於Flume將它正在傳輸到它自己的日誌中的事件進行編寫的內容。

+0

感謝您的回覆Sarge。實際上它不是在日誌文件和控制檯中都打印。作爲第一步,我嘗試在控制檯中打印日誌消息。如果它能夠工作,那麼我認爲它可以用於打印文件。問題是flume服務器中的log4j.properties在通過獨立Java應用程序連接到服務器時未被訪問。 – Rajan

+0

這與log4j.properties無關。您需要編輯您的flume.conf並添加文件卷接收器。 – Sarge

+0

是的,我正在使用file_roll。只有服務器內容纔會被添加到這裏。但是記錄器語句(avro)在服務器端日誌文件中不可用。 – Rajan

相關問題