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
同上,它也适用于我。按原样运行,最终在日志文件中有两行。 –