2013-12-13 25 views
4

我想用node.js來查看日誌輪轉的文件併爲關鍵字解析每一行。問題是:在logrotate之後,由於打開的文件描述符,我仍然在觀看舊文件。howto用node.js觀看旋轉文件?

我是新來的這一點,有兩個問題:

  1. 它是建議檢查後,每行的索引節點,如果它是不一樣的關閉fd和再次讀取該文件「文件名」?
  2. 達到此目的的最佳方式是什麼?試圖避免回調和使用事件,或者是否已經有一個庫?

謝謝!

回答

5

當日志文件旋轉時,它將被重命名。

node.js中的fs.watch函數可以在文件更改時通知您。

http://www.nodejs.org/api/fs.html#fs_fs_watch_filename_options_listener

Try something like: 

fs.watch('filetowatch', function (event) { 
    if (event === 'rename') { 
    // close the file descriptor you are reading from and re-open. 
    } 
}); 
+0

就是這樣,偉大的提示!謝謝,布蘭登。 – Marco