net::daemon::log(3)

NAME

Net::Daemon::Log - Utility functions for logging

SYNOPSIS

# Choose logging method: syslog or Win32::EventLog
$self->{'facility'} = 'mail'; # Default: Daemon
$self->{'logfile'} = undef;   # Default
# Choose logging method: stderr
$self->{'logfile'} = 1;
# Choose logging method: IO handle
my $file = IO::File->new("my.log", "a");
$self->{'logfile'} = $file;
# Debugging messages (equivalent):
$self->Log('debug', "This is a debugging message");
$self->Debug("This is a debugging message");
# Error messages (equivalent):
$self->Log('err', "This is an error message");
$self->Error("This is an error message");
# Fatal error messages (implies 'die')
$self->Fatal("This is a fatal error message");

WARNING

THIS IS ALPHA SOFTWARE. It is *only* 'Alpha' because the
interface (API) is not finalised. The Alpha status does
not reflect code quality or stability.

DESCRIPTION

Net::Daemon::Log is a utility class for portable logging
messages. By default it uses syslog (Unix) or
Win32::EventLog (Windows), but logging messages can also
be redirected to stderr or a log file.

Generic Logging
$self->Log($level, $msg, @args);
This is the generic interface. The logging level is in
syslog style, thus one of the words 'debug', 'info',
'notice', 'err' or 'crit'. You'll rarely need info and
notice and I can hardly imagine a reason for crit (criti
cal). In 95% of all cases debug and err will be suffi
cient.
The logging string $msg is a format string similar to
printf.
Utility methods

$self->Debug($msg, @args);
$self->Error($msg, @args);
$self->Fatal($msg, @args);
These are replacements for logging with levels debug and
err. The difference between the latter two is that Fatal
includes throwing a Perl exception.
Chossing a logging target
By default logging will happen to syslog (Unix) or Event
Log (Windows). However you may choose logging to stderr
by setting

$self->{'logfile'} = 1;
This is required if neither of syslog and EventLog is
available. An alternative option is setting

$self->{'logfile'} = $handle;
where $handle is any object supporting a print method, for
example an IO::Handle object. Usually the logging target
is choosen as soon as you call $self->Log() the first
time. However, you may force choosing the target by doing
a

$self->OpenLog();
before calling Log the first time.

MULTITHREADING

The Multithreading capabitities of this class are depend
ing heavily on the underlying classes Sys::Syslog,
Win32::EventLog or IO::Handle. If they are thread safe,
you can well assume that this package is too. (The excep
tion being that you should better call $self->OpenLog() before threading.)

AUTHOR AND COPYRIGHT

Net::Daemon is Copyright (C) 1998, Jochen Wiedmann
Am Eisteich 9
72555 Metzingen
Germany
Phone: +49 7123 14887
Email: joe@ispsoft.de
All rights reserved.
You may distribute this package under the terms of ei
ther the GNU
General Public License or the Artistic License, as spec
ified in the
Perl README file.

SEE ALSO

Net::Daemon(3), Sys::Syslog(3), Win32::EventLog(3), IO::Handle(3)
Copyright © 2010-2025 Platon Technologies, s.r.o.           Index | Man stránky | tLDP | Dokumenty | Utilitky | O projekte
Design by styleshout