2016-05-13 20 views
1

如何以編程方式創建一個像託運人一樣的Filebeat,它將把我的日誌從客戶端服務器發送到遠程logstash服務器。以編程方式配置Filebeat託運人

我是新來的ELK和log4j,我正在嘗試創建Daemonize java程序或shell腳本,它會一直讀取我的日誌文件,它會將所有行(和任何新行)發送到定義的logstash服務器。

我能夠逐行讀取文件,但它一到達EOF就會關閉。

此外,我想讓它守護進程將繼續監視日誌文件,它會發送每條線到通過TCP的Logstash。

FileInputStream fstream = new FileInputStream("textfile.txt"); 
BufferedReader br = new BufferedReader(new InputStreamReader(fstream)); 

String strLine; 
while ((strLine = br.readLine()) != null) { 

    System.out.println (strLine); 
} 
br.close(); 

有人可以引導我在正確的方向嗎?

+1

普羅蒂普:** **從未使用賦值和比較中環的頭同一時間。那就是大多數人所說的「壞代碼」。將它分開並比較循環頭中的值,其他一切都會導致編程中的錯誤,這是什麼讓你認爲幾乎所有編譯的內容都是「良好」的做法 - 事實並非如此。習慣於「最佳實踐」,不惜一切代價避免錯誤,並使用一個清晰​​,簡潔,一致的編程範例 - 例如:您還應該**始終**初始化您的變量。 – specializt

+0

謝謝,請確保不要使用它,但是這個代碼僅僅是我想要實現的任務的一個正確的代碼。 –

+0

只是...什麼? – specializt

回答