agent::channel(3)

NAME

Log::Agent::Channel - ancestor class for all Log::Agent
channels

SYNOPSIS

@Log::Agent::Channel::XXX::ISA = qw(Log::Agent::Channel);

DESCRIPTION

The "Log::Agent::Channel" class is the root class from
which all "Log::Agent" channels inherit. It is a deferred class, meaning that it cannot be instantiated directly.
All the deferred routines need to be implemented by its
heirs to form a valid driver.

Internally, the various "Log::Agent::Driver" objects cre
ate "Log::Agent::Channel" instances for each logging chan
nel defined at driver creation time. The channels are
therefore architecturally hidden within "Log::Agent",
since this module only provides redefined mappings for the
various logxxx() routines (logerr(), logwarn(), logdie(), etc...).

However, this does not mean that channel classes cannot be
used externally: the "Log::Agent::Logger" extension makes
"Log::Agent::Channel" objects architecturally visible,
thereby offering an application-level logging API that can
be redirected to various places transparently for the
application.

CHANNEL LIST

The following channels are currently made available by
"Log::Agent". More channels can be defined by the
"Log::Agent::Logger" extension:

Log::Agent::Channel::File
This channel writes logs to files, defined by their
path or via a magical opening sequence such as "|cmd".
See Log::Agent::Channel::File.
Log::Agent::Channel::Handle
This channel writes logs to an already opened descrip
tor, as specified by its file handle: an IO::Handle
object, or a GLOB reference such as ILE. See
Log::Agent::Channel::Handle.
Log::Agent::Channel::Syslog
This channel redirects logs to the syslogd(8) daemon, which will then handle the dispatching to various log
files, based on its own configuration. See
Log::Agent::Channel::Syslog.

INTERFACE

You need not read this section if you're only using
"Log::Agent". However, if you wish to implement another channel, then this section might be of interest.

The following routines are deferred and therefore need to be defined by the heir:

write($priority, $logstring)
Emit the log entry held in $logstring, at priority
$priority. A trailing "0 is added to the
$logstring, if needed (i.e. if the physical entity
does not do it already, like syslog does).
The $priority argument must be a valid syslog prior
ity, i.e. one of the following strings: "emerg",
"alert", "crit", "err", "warning", "notice", "info",
"debug".
The $logstring may not really be a plain string. It
can actually be a Log::Agent::Message object with an
overloaded stringification routine, so the illusion
should be complete.
close
Close the channel.
make
This is the creation routine. Its signature varies for
each channel, naturally.

AUTHOR

Raphael Manfredi <Raphael_Manfredi@pobox.com>

SEE ALSO

Log::Agent::Channel::File(3), Log::Agent::Channel::Han_ dle(3), Log::Agent::Channel::Syslog(3), Log::Agent::Log_ ger(3).
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout