Net::SolarWinds::Log - Simple file logging module
use Net::SolarWinds::Log; my $log=new Net::SolarWinds::Log('/some/log/file.log'); $log->log_info("This will not be logged"); $log->log_error("This will be logged"); $log->set_loglevel(Net::SolarWinds::Log->LOG_INFO); $log->log_info("This will now be logged"); $log->log_error("This will still be logged");
This package provides a very simple somewhat standardized logging interface. The module itself extends Net::SolarWinds::FileRotationBase and inherits all of its features.
The following constants can be exported using the standard exporter syntax
use Net::SolarWinds::Log (qw(LOG_NONE LOG_ERROR LOG_WARN LOG_INFO LOG_DEBUG));
The default log level is LOG_ERROR or 1. In the default state only errors are logged.
Object constructor
The object constructor takes key=>'value' argument pairs example:
my $log=new Net::SolarWinds::Log( filename=>'/full/path/to/file.log', loglevel=>4, # optional, if not set the system hostname will be used hostname=>'somehost' # ignored when filename is set basefilename=>'myapp', folder=>'/var/myappfolder', );
When the constructor is called with a single argument it is assumed to be the fully quallified name of the log file to manage and rotate.
my $log=new Net::SolarWinds::Log('/some/log/file.log');
my $hash=$self->lookback(stack_level);
This method returns a hash that provides information about who called this function relative to the stack_level argument. The class default value is 4.
Example result
{ # the fully qualified package that this method ran under package=>'main', # the package and subrouteen this was called under sub=>'main::some_method', # the source file ( may be eval or undef ) filename=>'/path/to/my/Script', # the line in wich the function was called # if the internals are unsure the value is undef line=>11 }
my $string=$log->format_log('LEVEL=ERROR|WARN|INFO|DEBUG',"some log");
Formats your log entry as:
HOSTNAME PID TIMESTAMP LEVEL STACK_TRACE DATA \n
Special notes: any undef value will be converted to a string value of 'undef'.
$log->log_info("message");
Logs to a file if the log level is LOG_INFO or greater.
$log->log_error("message");
Logs to a file if the log level is LOG_error or greater.
$log->log_die("Some message");
Logs the message then dies.
$log->log_warn("message");
Logs to a file if the log level is LOG_WARN or greater.
$log->log_always("message");
Logs to a file if the log level is LOG_ALWAYS or greater.
$log->log_debug("message");
Logs to a file if the log level is LOG_DEBUG or greater.
$log->write_to_log('LEVEL=ERROR|WARN|INFO|DEBUG','message');
Writes 'message' to the log file with formatting representing 2 levels aboive itself in the stack.
my $loglevel=$log->get_loglevel;
Returns the current runtime loglevel.
$log->set_loglevel(level);
Used to set the current loglevel to the level.
Michael Shipper
To install Net::SolarWinds::REST, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Net::SolarWinds::REST
CPAN shell
perl -MCPAN -e shell install Net::SolarWinds::REST
For more information on module installation, please visit the detailed CPAN module installation guide.