HADaemon-Control
view release on metacpan or search on metacpan
lib/HADaemon/Control.pm view on Meta::CPAN
}
}
sub _log {
my ($self, $level, $message) = @_;
# some commands, such as help|foregournd, don't need loggin
# so do lazy initialization
if (not exists $self->{log_fh}) {
open(my $fh, '>>', $self->log_file) or die "failed to open logfile '" . $self->log_file . "': $!\n";
chown(($self->uid // -1), ($self->gid // -1), $fh) if $self->uid || $self->gid;
$self->{log_fh} = $fh;
}
if ($self->{log_fh} && defined fileno($self->{log_fh})) {
my $now = Time::HiRes::time();
my ($sec, $ms) = split(/[.]/, $now);
my $date = POSIX::strftime("%Y-%m-%d %H:%M:%S", localtime($now)) . sprintf('.%05d', $ms // 0);
printf { $self->{log_fh} } "[%s][%d][%s] %s\n", $date, $$, $level, $message;
$self->{log_fh}->flush();
}
( run in 1.386 second using v1.01-cache-2.11-cpan-71847e10f99 )