1
我在perl中記錄一些消息時遇到了問題。我創建了簡單的日誌包。我仍然只是第一行到文件。似乎有追加到文件無法正常工作。有任何想法嗎?在perl中追加到文件的問題
即使我運行該腳本多次,輸出日誌文件中也沒有任何更改。總是隻寫「東西」。我需要將「somethingElse」附加到輸出文件。我的日誌有誤嗎?
package Logger;
sub new {
my $package = shift;
my $self = {};
bless $self , $package;
$self->initialize(@_);
return $self;
}
sub initialize {
my $self = shift;
$self->{logfile} = shift;
return;
}
sub logger {
my $self = shift;
my $message = shift;
my (undef,$script, $line) = caller;
open(LOG, ">>$self->{logfile}");
print LOG substr(scalar localtime(),4,15), " ", $message, "\n";
close(LOG);
return;
}
my $log = Logger->new('/usr/local/logs/test.log');
$log->logger("something");
$log->logger("somethingElse");
謝謝
這不完全相當的代碼,但它_does_爲我工作。啓用警告,並至少檢查「open」的返回值以確定發生了什麼。 – innaM
同上,它也適用於我。按原樣運行,最終在日誌文件中有兩行。 –