CTKlib
view release on metacpan or search on metacpan
lib/CTK/Log.pm view on Meta::CPAN
=head2 log_fatal
$logger->log_fatal( <FORMAT>, <VALUE>, ... );
$logger->log_fatal( "No free memory" );
Level 8: fatal
=head2 log_except, log_exception
$logger->log_except( <FORMAT>, <VALUE>, ... );
$logger->log_except( "Segmentation violation" );
Level 9: exception
=head1 HISTORY
See C<Changes> file
=head1 DEPENDENCIES
L<Sys::Syslog>, L<IO::File>
=head1 TO DO
See C<TODO> file
=head1 BUGS
* none noted
=head1 SEE ALSO
L<Sys::Syslog>, L<IO::File>
=head1 AUTHOR
Serż Minus (Sergey Lepenkov) L<https://www.serzik.com> E<lt>abalama@cpan.orgE<gt>
=head1 COPYRIGHT
Copyright (C) 1998-2022 D&D Corporation. All Rights Reserved
=head1 LICENSE
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
See C<LICENSE> file and L<https://dev.perl.org/licenses/>
=cut
use vars qw/$VERSION %EXPORT_TAGS @EXPORT_OK/;
$VERSION = '2.64';
use base qw/Exporter/;
use Carp;
use IO::File;
use Sys::Syslog ();
use Try::Tiny;
use Cwd qw/getcwd/;
use File::Spec ();
@EXPORT_OK = qw(
LOG_DEBUG LOG_INFO LOG_NOTICE LOG_NOTE LOG_WARNING LOG_WARN LOG_ERR
LOG_ERROR LOG_CRIT LOG_ALERT LOG_EMERG LOG_EMERGENCY LOG_FATAL
LOG_EXCEPT LOG_EXCEPTION
);
%EXPORT_TAGS = (
constants => [@EXPORT_OK],
);
use constant {
LOGOPT => 'ndelay,pid', # For Sys::Syslog
MSWIN => $^O =~ /mswin/i ? 1 : 0,
SEPARATOR => ' ',
LOGLEVELSA => [qw/debug info notice warning error crit alert emerg fatal except/],
LOGLEVELS => {
'debug' => 0,
'info' => 1,
'notice' => 2, 'note' => -2,
'warning' => 3, 'warn' => -3,
'error' => 4, 'err' => -4,
'crit' => 5, 'critical' => -5,
'alert' => 6,
'emerg' => 7, 'emergency' => -7,
'fatal' => 8,
'except' => 9, 'exception' => -9,
},
LOG_DEBUG => 0,
LOG_INFO => 1,
LOG_NOTICE => 2, LOG_NOTE => 2,
LOG_WARNING => 3, LOG_WARN => 3,
LOG_ERR => 4, LOG_ERROR => 4,
LOG_CRIT => 5,
LOG_ALERT => 6,
LOG_EMERG => 7, LOG_EMERGENCY => 7,
LOG_FATAL => 8,
LOG_EXCEPT => 9, LOG_EXCEPTION => 9,
};
my %SYSLOG_LEVEL_MAP = (
# My LEVEL , SysLog LEVEL
LOG_DEBUG , LOG_EMERG,
LOG_INFO , LOG_ALERT,
LOG_NOTICE , LOG_CRIT,
LOG_WARNING , LOG_ERR,
LOG_ERR , LOG_WARNING,
LOG_CRIT , LOG_NOTICE,
LOG_ALERT , LOG_INFO,
LOG_EMERG , LOG_DEBUG,
LOG_FATAL , LOG_DEBUG,
LOG_EXCEPT , LOG_DEBUG,
);
sub new {
my $class = shift;
my %args = @_;
my $level = _getLevel($args{level} // LOG_DEBUG);
( run in 1.736 second using v1.01-cache-2.11-cpan-39bf76dae61 )