Don't fail on bad logLevel value (fixes: #1714)

This commit is contained in:
Yadd 2022-02-13 14:10:30 +01:00
parent 9fd5231cef
commit d6c689c1ec
2 changed files with 19 additions and 6 deletions

View File

@ -21,8 +21,8 @@ has instanceName => ( is => 'rw', isa => 'Str', default => '' );
has templateDir => ( is => 'rw', isa => 'Str|ArrayRef' );
has links => ( is => 'rw', isa => 'ArrayRef' );
has menuLinks => ( is => 'rw', isa => 'ArrayRef' );
has logger => ( is => 'rw' );
has userLogger => ( is => 'rw' );
has logger => ( is => 'rw' );
has userLogger => ( is => 'rw' );
# INITIALIZATION
@ -43,7 +43,17 @@ sub init {
unless ( ref $self->logger ) {
eval "require $logger";
die $@ if ($@);
my $err;
unless ( $self->{logLevel} =~ /^(?:debug|info|notice|warn|error)$/ )
{
$err =
'Bad logLevel value \''
. $self->{logLevel}
. "', switching to 'info'";
$self->{logLevel} = 'info';
}
$self->logger( $logger->new($self) );
$self->logger->error($err) if $err;
}
unless ( ref $self->userLogger ) {
$logger = $ENV{LLNG_USERLOGGER} || $args->{userLogger} || $logger;

View File

@ -50,18 +50,21 @@ sub init($$) {
# Set log level for Lemonldap::NG logs
sub logLevelInit {
my ($class) = @_;
my $logger = $class->localConfig->{logger} ||= $class->defaultLogger;
my $logger = $class->localConfig->{logger} ||= $class->defaultLogger;
eval "require $logger";
die $@ if ($@);
unless (
$class->localConfig->{logLevel} =~ /^(?:debug|info|notice|warn|error)$/ )
my $err;
unless ( $class->localConfig->{logLevel} =~
/^(?:debug|info|notice|warn|error)$/ )
{
print STDERR 'Bad logLevel value \''
$err =
'Bad logLevel value \''
. $class->localConfig->{logLevel}
. "', switching to 'info'\n";
$class->localConfig->{logLevel} = 'info';
}
$class->logger( $logger->new( $class->localConfig ) );
$class->logger->error($err) if $err;
$class->logger->debug("Logger $logger loaded");
$logger = $class->localConfig->{userLogger} || $logger;
eval "require $logger";