NAME
XAS::Lib::Modules::Log - A class for logging in the XAS Environment
SYNOPSIS
use XAS::Lib::Modules::Log;
my $log = XAS::Lib::Modules::Log->new();
$log->debug('a debug message');
$log->info('an info message');
$log->warn('a warning message');
$log->error('an error message');
$log->fatal('a fatal error message');
$log->trace('a tracing message');
DESCRIPTION
This module defines a simple logger for messages generated by an application. It is intentionally very simple in design, providing the bare minimum in functionality with the possibility for extension by sub-classing.
METHODS
new
This will initialize the base object. It takes the following parameters:
- -type
-
The type of the log. This can be "console", "file", "json" or "syslog". Defaults to "console". Which means all logging goes to the current terminal.
- -filename
-
The name of the log file. This only is relevant if the log type is "file".
- -facility
-
The facility of the log message. Primarily has meaning when using a log type of "json" or "syslog". The following have been defined and follows the syslog standard.
auth, authpriv, cron, daemon, ftp, local[0-7], lpr, mail, news, user, uucp
Defaults to "local6".
- -process
-
The name of the process. Defaults to "XAS", which is not to useful.
- -levels
-
A hashref of values to set the internal logging level with.
Example:
my $log = XAS::Lib::Modules::Log->new( -levels => { debug => $self->debugging ? 1 : 0, } );
This would set the debug level of logging, depending on the value of $self->debugging.
level($level, $boolean)
This will query or toggle the log level. When toggled that particular level is set. There is no hierarchy of log levels.
- $level
-
The log level to toggle. This can be one of the following:
info, warn, error, fatal, debug, trace
- $boolean
-
An optional valve. It needs to be 0 or 1 to set the level.
info($line)
This method will log an entry with an level of "info".
warn($line)
This method will log an entry with an level of "warn".
error($line)
This method will log an entry with an level of "error".
fatal($line)
This method will log an entry with an level of "fatal".
debug($line)
This method will log an entry with an level of "debug". By default this level is turned off.
trace($line)
This method will log an entry with an level of "trace".
info_msg($message, $line)
This method will log an entry with an level of "info".
- $message
-
The message to apply line against. This should be defined in the package variable $MESSAGE or in the message stanza in XAS::Class.
- $line
-
The line to write out. This can be an array which will be joined with a "space" separator.
warn_msg($message, $line)
This method will log an entry with an level of "warn".
- $message
-
The message to apply line against. This should be defined in the package variable $MESSAGE or in the message stanza in XAS::Class.
- $line
-
The line to write out. This can be an array which will be joined with a "space" separator.
error_msg($message, $line)
This method will log an entry with an level of "error".
- $message
-
The message to apply line against. This should be defined in the package variable $MESSAGE or in the message stanza in XAS::Class.
- $line
-
The line to write out. This can be an array which will be joined with a "space" separator.
fatal_msg($message, $line)
This method will log an entry with an level of "fatal".
- $message
-
The message to apply line against. This should be defined in the package variable $MESSAGE or in the message stanza in XAS::Class.
- $line
-
The line to write out. This can be an array which will be joined with a "space" separator.
debug_msg($message, $line)
This method will log an entry with an level of "debug".
- $message
-
The message to apply line against. This should be defined in the package variable $MESSAGE or in the message stanza in XAS::Class.
- $line
-
The line to write out. This can be an array which will be joined with a "space" separator.
trace_msg($message, $line)
This method will log an entry with an level of "trace".
- $message
-
The message to apply line against. This should be defined in the package variable $MESSAGE or in the message stanza in XAS::Class.
- $line
-
The line to write out. This can be an array which will be joined with a "space" separator.
SEE ALSO
AUTHOR
Kevin L. Esteb, <kevin@kesteb.us>
COPYRIGHT AND LICENSE
Copyright (C) 2014 Kevin L. Esteb
This is free software; you can redistribute it and/or modify it under the terms of the Artistic License 2.0. For details, see the full text of the license at http://www.perlfoundation.org/artistic_license_2_0.