summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Mojo/Log/Syslog.pm20
1 files changed, 11 insertions, 9 deletions
diff --git a/lib/Mojo/Log/Syslog.pm b/lib/Mojo/Log/Syslog.pm
index 3e5992c..87b9013 100644
--- a/lib/Mojo/Log/Syslog.pm
+++ b/lib/Mojo/Log/Syslog.pm
@@ -11,16 +11,18 @@ our $VERSION = '1.01';
sub new {
my $class = shift;
local %_ = @_;
- my $ident = delete $_{ident} || basename($0);
- my $facility = delete $_{facility} || LOG_USER;
- my $level = delete $_{level} || 'debug';
- my $logopt = delete $_{logopt} || 'ndelay,pid';
- if (ref($logopt) eq 'ARRAY') {
- $logopt = join(',', @$logopt);
+
+ $_{level} ||= 'debug';
+ unless ($_{parent}) {
+ my $ident = delete $_{ident} || basename($0);
+ my $facility = delete $_{facility} || LOG_USER;
+ my $logopt = delete $_{logopt} || 'ndelay,pid';
+ if (ref($logopt) eq 'ARRAY') {
+ $logopt = join(',', @$logopt);
+ }
+ openlog($ident, $logopt, $facility);
}
- croak "unrecognized arguments" if keys(%_);
- openlog($ident, $logopt, $facility);
- return $class->SUPER::new(level => $level);
+ return $class->SUPER::new(%_);
}
sub debug { shift->_syslog(debug => LOG_DEBUG => @_) }

Return to:

Send suggestions and report system problems to the System administrator.