Provided by: liblog-agent-perl_1.001-1ubuntu1_all bug

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 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.

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 descriptor, as specified by its file
           handle: an IO::Handle object, or a GLOB reference such as \*FILE.  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 logfiles, 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 "\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", "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::Handle(3),
       Log::Agent::Channel::Syslog(3), Log::Agent::Logger(3).