diff options
| author | Paul Buetow <paul@buetow.org> | 2011-05-13 14:08:40 +0000 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2011-05-13 14:08:40 +0000 |
| commit | 2085476afe46f49c08b5a66b9b2201383096696c (patch) | |
| tree | d5464c6ce0f5dba83bf3b43d3a7680fc7b39ede7 /lib/PerlDaemon/Logger.pm | |
| parent | 0dc9ad829a674d935c5cca95fa5fea660dd368d6 (diff) | |
re-moved modules into PerlDaemon::
Diffstat (limited to 'lib/PerlDaemon/Logger.pm')
| -rw-r--r-- | lib/PerlDaemon/Logger.pm | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/PerlDaemon/Logger.pm b/lib/PerlDaemon/Logger.pm new file mode 100644 index 0000000..fccc274 --- /dev/null +++ b/lib/PerlDaemon/Logger.pm @@ -0,0 +1,40 @@ +package PerlDaemon::Logger; + +use Shell qw(mv); +use POSIX qw(strftime); + +$| = 1; + +sub new ($$) { + my ($class, $conf) = @_; + return bless { conf => $conf }, $class; +} + +sub logmsg ($$) { + my ($self, $msg) = @_; + my $conf = $self->{conf}; + my $logfile = $conf->{'daemon.logfile'}; + + open my $fh, ">>$logfile" or die "Can't write logfile $logfile: $!\n"; + print $fh localtime()." (PID $$): $msg\n"; + close $fh; +} + +sub err ($$) { + my ($self, $msg) = @_; + $self->logmsg($msg); + die "$msg\n"; +} + +sub rotatelog ($) { + my $self = shift; + my $conf = $self->{conf}; + my $logfile = $conf->{'daemon.logfile'}; + + $self->logmsg('Rotating logfile'); + + my $timestr = strftime "%Y%m%d-%H%M%S", localtime(); + mv($logfile, "$logfile.$timestr"); +} + +1; |
