Log¶
The Log library provides a consistent API and format for logging.
You must always use this module after threads::shared.
Synopsis¶
use threads::shared;
use Assure1::Log;
our $Log = new Assure1::Log({
LogFile => $LogFile,
LogLevel => $LogLevel
AppID => $AppID
});
$Log->Message($Level, $Message);
$Log->Message($Level, [$Message1, $Message2, ...]);
Constructor¶
The Log library contains the constructor described below.
new¶
Creates a logging instance.
new(\%options)
Options
Config -> (optional) Non-default configuration file
LogFile -> Full path to log file
LogLevel -> Level string {OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE}
AppID -> (optional) Unique application ID
Returns
Log instance
Methods¶
The Graph library contains the methods described below.
ChangeLogLevel¶
Changes the logging level.
ChangeLogLevel($LogLevel)
Arguments
LogLevel -> Level string {OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE}
ChangeLogFile¶
Changes the log file.
ChangeLogFile($LogFile)
Arguments
LogFile -> Full path to log file
Close¶
Flushes and closes the log file. Will reopen file if Message is called after closing.
GetLogLevel¶
Gets the name of the log level that matches the specified ID.
GetLogLevel($LogLevelID)
Arguments
LogLevelID -> Level number
Returns
0 => 'OFF'
1 => 'FATAL'
2 => 'ERROR'
3 => 'WARN'
4 => 'INFO'
5 => 'DEBUG'
6 => 'TRACE'
GetLogLevelID¶
Gets the log level ID that matches the specified name.
GetLogLevelID($LogLevel)
Arguments
LogLevel -> Level string {OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE}
Returns
'OFF' => 0
'FATAL' => 1
'ERROR' => 2
'WARN' => 3
'INFO' => 4
'DEBUG' => 5
'TRACE' => 6
IsLevel¶
Checks the log level by name.
IsLevel($LogLevel)
Arguments
LogLevel -> Level string {OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE}
Returns
0 => 'False'
1 => 'True'
Message¶
Sends a log message with a specific log level. The message can be a scalar or an array reference of multiple log messages.
Message($LogLevel, $Message)
Arguments
LogLevel -> Level string {OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE}
Message -> String of a single message or an array reference of multiple string messages
Reopen¶
Forces the specified log file to close and re-open.
Reopen($LogFile)
Arguments
LogFile -> Full path to log file