Manual Reference Pages - LOG::AGENT::CHANNEL (3)
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:
This channel writes logs to files, defined by their path or via a magical
opening sequence such as |cmd. See Log::Agent::Channel::File.
This channel writes logs to an already opened descriptor, as specified by its
file handle: an IO::Handle object, or a GLOB reference such as \*FILE.
This channel redirects logs to the syslogd(8) daemon, which will then handle
the dispatching to various logfiles, based on its own configuration.
You need not read this section if youre only <B>usingB> Log::Agent.
However, if you wish to <B>implementB> another channel, then this section
might be of interest.
The following routines are <B>deferredB> and therefore need to be defined
by the heir:
Emit the log entry held in $logstring, at priority $priority.
A trailing \n 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 priority, i.e. one of the
following strings: emerg, alert, crit, err, warning, notice,
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 the channel.
This is the creation routine. Its signature varies for each channel, naturally.
Raphael Manfredi <Raphael_Manfredi@pobox.com>
|perl v5.20.3 ||AGENT::CHANNEL (3) ||2015-11-30 |
Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.