From eb4acbf430ba48cf496dac77948eb0d2b8536786 Mon Sep 17 00:00:00 2001 From: Peter Palfrader Date: Tue, 14 Jan 2003 05:26:14 +0000 Subject: First go at sane logging --- Echolot/Log.pm | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 Echolot/Log.pm (limited to 'Echolot') diff --git a/Echolot/Log.pm b/Echolot/Log.pm new file mode 100644 index 0000000..9eb7d9f --- /dev/null +++ b/Echolot/Log.pm @@ -0,0 +1,106 @@ +package Echolot::Log; + +# (c) 2002 Peter Palfrader +# $Id: Log.pm,v 1.1 2003/01/14 05:26:14 weasel Exp $ +# + +=pod + +=head1 Name + +Echolot::Globals - echolot global variables + +=head1 DESCRIPTION + +=cut + +use strict; +use Carp qw{}; +use Log::Dispatch::File; +use Log::Dispatch; + +my $LOG; + +my @monnames = qw{Jan Feb Mar Arp May Jun Jul Aug Sep Oct Nov Dec}; +sub header_log(%) { + my (%msg) = @_; + + my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(); + my $time = sprintf("%s %02d %02d:%02d:%02d", + $monnames[$mon], + $mday, + $hour, $min, $sec); + my $logstring = $time.' '. + '['.uc($msg{'level'}).']'. ' '. + $msg{'message'}."\n"; + $logstring =~ s/(?<=.)^/ /mg; + return $logstring; +}; + +sub init(%) { + my (%args) = @_; + + $LOG = Log::Dispatch->new( callbacks => \&header_log ); + $LOG->add( Log::Dispatch::File->new( + name => 'file1', + min_level => 'debug', + filename => 'pingd.log', + mode => 'append', + )); +}; + +#sub log() { +# return $LOG; +#}; + +sub debug($) { + $LOG->debug(@_); +}; +sub info($) { + $LOG->info(@_); +}; +sub notice($) { + $LOG->notice(@_); +}; +sub warn($) { + $LOG->warning(@_); +}; +sub warning($) { + $LOG->warning(@_); +}; +sub error($) { + $LOG->error(@_); +}; +sub critical($) { + $LOG->critical(@_); +}; +sub alert($) { + $LOG->alert(@_); +}; +sub emergency($) { + $LOG->emergency(@_); +}; + +sub logdie($) { + my ($msg) = @_; + critical($msg); + die($msg); +}; +sub cluck($) { + my ($msg) = @_; + my $longmess = Carp::longmess(); + $longmess =~ s/^/ /mg; + $msg .= "\n".$longmess; + warning($msg); +}; +sub confess($) { + my ($msg) = @_; + my $longmess = Carp::longmess(); + $longmess =~ s/^/ /mg; + $msg .= "\n".$longmess; + critical($msg); + die($msg); +}; + +1; +# vim: set ts=4 shiftwidth=4: -- cgit v1.2.3