2
給定一個目錄,讀取所有的日誌文件(文本),併發送每條線路通過網絡。寫一個日誌收集器/讀者,任何好的設計?
因此,根本的問題是設計一個日誌讀取器,它需要:
- 1,找到一個目錄
- 2日誌文件,讀未讀的日誌文件
- 3,日誌文件可以越來越大讀
- 4時,日誌文件可以讀
- 5時被移動到其他地方或刪除,如果日誌讀取器已關閉,繼續啓動時 下一次(不重複,它不停止損失)
以前我使用inode記錄進度和文件讀取,但inode可以重複。
因此,任何好的想法如何實現這些目標?
你瞭解inotify的? http://man7.org/linux/man-pages/man7/inotify.7.html。它可以幫助你達到2.5分。順便說一句,爲什麼你需要一個日誌閱讀器,當你有rsyslog? – Luv33preet
以前的設計中使用的inotify,它使用的inode來跟蹤新的文件和移動文件和刪除的文件,但inode的可重複使用。 inotify的設計沒有解決5,當讀者下來,舊的文件被刪除,新的文件創建的,該inode不會改變(和名稱可以相同)。 –
你能告訴爲什麼你需要另一個日誌閱讀器嗎?當你有很多其他選項,如rsyslog,filebeat? – Luv33preet