2010-12-20 24 views
2

我正在使用一個簡單的Perl腳本來監視使用File::Tail模塊的日誌文件,但我似乎無法讓模塊正常工作。爲什麼這個使用File :: Tail模塊的Perl腳本不工作?

這個想法是使用它在IRC上,但這似乎並沒有工作,所以經過與交互式解釋器修補我已經縮小到File :: Tail的問題。我剪了下來以下基本的例子來監控該文件並沒有任何反應,當新條目被附加到文件的所有:

#!/usr/bin/perl -w 

use strict; 

use File::Tail; 

my $file = File::Tail->new("/var/log/apache2/error.log"); 

while(defined(my $line = $file->read)) 
{ 
    print "$line\n"; 
} 

任何人都可以提出問題可能是什麼?我已經通過了perldoc入口,這實際上是從那裏複製,所以我不能真正看到我犯了任何明顯的錯誤。我正在運行Ubuntu Lucid。

+0

沒問題,問題已解決。我剛剛將它運行並在大約一分鐘後打印出來。看起來我只是在運行時有點太不耐煩 - 還是,經驗教訓! – 2010-12-20 22:58:53

+0

FYI @ mattbd-不要刪除自己的問題。一旦有人投票提出問題,它就會被移動。這就是這些網站的工作原理。 – mfinni 2010-12-21 00:53:16

回答

2

這可能是一個權限錯誤嗎?用戶是否可以訪問/var/log/apache2/error.log

+0

是的 - 我可以少使用查看日誌沒有任何問題。 – 2010-12-20 22:19:03

0

如果一切都失敗了,請自行實施!

use Fcntl qw(:seek); 

while (1) { 
    while (<$fh>) { 
     ... 
    } 
    sleep(1); 
    seek $fh, 0, SEEK_CUR; 
} 

...這我就不用了打字,如果我只是簡單的鏈接,你herehere

0

我剛剛意識到,我已經一個完整的工具...

它完美 - 我只是沒把它按Ctrl-C之前足夠長的時間。 D'哦!哦,經驗教訓!還是要謝謝你的幫助!

+0

請不要張貼非答案作爲答案。 – 2010-12-21 01:14:29

相關問題