Log::Agent::Channel - ancestor class for all Log::Agent channels |
Log::Agent::Channel - ancestor class for all Log::Agent channels
@Log::Agent::Channel::XXX::ISA = qw(Log::Agent::Channel);
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 create
Log::Agent::Channel
instances for each logging channel 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.
The following channels are currently made available by Log::Agent
. More
channels can be defined by the Log::Agent::Logger
extension:
syslogd(8)
daemon, which will then handle
the dispatching to various logfiles, based on its own configuration.
See the Log::Agent::Channel::Syslog manpage.
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:
The $priority argument must be a valid syslog priority, 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.
Raphael Manfredi <Raphael_Manfredi@pobox.com>
Log::Agent::Channel::File(3), Log::Agent::Channel::Handle(3), Log::Agent::Channel::Syslog(3), Log::Agent::Logger(3).
Log::Agent::Channel - ancestor class for all Log::Agent channels |