Use Log::Any instead of Mojo::Log
Log::Any can catch runtime error in modules - cluck, carp, die, etc. Mojo::Log silently ignore that type of error and do not log them, which is pretty fucky behaviour.
This commit is contained in:
@@ -29,7 +29,9 @@ no Cwd;
|
||||
use Cwd::utf8 qw (chdir abs_path);
|
||||
use File::Basename qw (basename dirname);
|
||||
use File::Path qw (make_path);
|
||||
use Mojo::Log;
|
||||
use Log::Any qw ($log);
|
||||
use Log::Any::Adapter;
|
||||
use Log::Any::For::Std;
|
||||
use POSIX qw (setgid setuid setsid);
|
||||
use Conf qw (LoadConf);
|
||||
use Misc qw (RunMisc);
|
||||
@@ -45,7 +47,6 @@ my $piddir = '/var/run/' . basename (abs_path ($PROGRAM_NAME));
|
||||
my $CONF = LoadConf ();
|
||||
my $loglevel = $CONF->{'loglevel'} // 'info';
|
||||
my $logfile;
|
||||
my $log;
|
||||
|
||||
if (defined $CONF->{'log'}) {
|
||||
$logfile = $CONF->{'log'};
|
||||
@@ -94,9 +95,9 @@ if ($UID == 0) {
|
||||
}
|
||||
|
||||
if (defined $logfile) {
|
||||
$log = Mojo::Log->new (path => $logfile, level => $loglevel);
|
||||
Log::Any::Adapter->set ('File', $logfile, log_level => $loglevel);
|
||||
} else {
|
||||
$log = Mojo::Log->new (path => '/dev/null', level => 'fatal');
|
||||
Log::Any::Adapter->set ('File', '/dev/null');
|
||||
}
|
||||
|
||||
# По-умолчанию, демонизируемся, если явно не указано, что этого делать не надо
|
||||
|
||||
Reference in New Issue
Block a user