diff --git a/lemonldap-ng-common/lib/Lemonldap/NG/Common/PSGI.pm b/lemonldap-ng-common/lib/Lemonldap/NG/Common/PSGI.pm index dcf7d8e43..e973b5f9e 100644 --- a/lemonldap-ng-common/lib/Lemonldap/NG/Common/PSGI.pm +++ b/lemonldap-ng-common/lib/Lemonldap/NG/Common/PSGI.pm @@ -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; diff --git a/lemonldap-ng-handler/lib/Lemonldap/NG/Handler/Main/Init.pm b/lemonldap-ng-handler/lib/Lemonldap/NG/Handler/Main/Init.pm index fbcae961c..48a87334f 100644 --- a/lemonldap-ng-handler/lib/Lemonldap/NG/Handler/Main/Init.pm +++ b/lemonldap-ng-handler/lib/Lemonldap/NG/Handler/Main/Init.pm @@ -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";