The handle channel performs logging to an already opened I/O handle, along with the necessary prefixing
and stamping of the messages.
The creation routine make() takes the following arguments:
"-handle" => handle
Specifies the I/O handle to use. It can be given as a GLOB reference, such as "\*FILE", or as an
"IO::Handle" object.
NOTE: Auto-flushing is not enabled on the handle. Even when the channel is closed, the handle is
left as-is: we simply stop sending log messages to it.
"-no_newline" => flag
When set to true, never append any "\n" (on Unix) or "\r\n" (on Windows) to log messages.
Internally, Log::Agent relies on the channel to delimit logged lines appropriately, so this flag is
not used. However, it might be useful for "Log::Agent::Logger" users.
Default is false, meaning newline markers are systematically appended.
"-no_prefixing" => flag
When set to true, disable the prefixing logic entirely, i.e. the following options are ignored
completely: "-prefix", "-showpid", "-no_ucfirst", "-stampfmt".
Default is false.
"-no_ucfirst" => flag
When set to true, don't upper-case the first letter of the log message entry when there's no prefix
inserted before the logged line. When there is a prefix, a ":" character follows, and therefore the
leading letter of the message should not be upper-cased anyway.
Default is false, meaning uppercasing is performed.
"-prefix" => prefix
The application prefix string to prepend to messages.
"-showpid" => flag
If set to true, the PID of the process will be appended within square brackets after the prefix, to
all messages.
Default is false.
"-stampfmt" => (name | CODE)
Specifies the time stamp format to use. By default, my "own" format is used. See
Log::Agent::Stamping for a description of the available format names.
You may also specify a CODE ref: that routine will be called every time we need to compute a time
stamp. It should not expect any parameter, and should return a string.