40 |
############################################################################### |
############################################################################### |
41 |
|
|
42 |
$Meteor::Syslog::DEFAULT_FACILITY='daemon'; |
$Meteor::Syslog::DEFAULT_FACILITY='daemon'; |
43 |
|
|
44 |
|
$Meteor::Syslog::_lasttimestamp=0; |
45 |
|
$Meteor::Syslog::_lasttimestring=""; |
46 |
$Meteor::Syslog::_open=0; # set to 1 by _open |
$Meteor::Syslog::_open=0; # set to 1 by _open |
47 |
|
|
48 |
############################################################################### |
############################################################################### |
50 |
############################################################################### |
############################################################################### |
51 |
sub ::syslog { |
sub ::syslog { |
52 |
|
|
53 |
if($::CONF{'Debug'}) |
my $debug=$::CONF{'Debug'}; |
54 |
|
|
55 |
|
my $priority=shift; |
56 |
|
return if($priority eq 'debug' && !$debug); |
57 |
|
|
58 |
|
my $format=shift; |
59 |
|
my @args=@_; |
60 |
|
|
61 |
|
if($format eq '') |
62 |
|
{ |
63 |
|
my $txt=join("\t",@args); |
64 |
|
$format='%s'; |
65 |
|
@args=($txt); |
66 |
|
} |
67 |
|
|
68 |
|
my $facility=$::CONF{'SyslogFacility'} || $Meteor::Syslog::DEFAULT_FACILITY; |
69 |
|
|
70 |
|
if($debug || $facility eq 'none') |
71 |
{ |
{ |
|
my $priority=shift; |
|
|
my $format=shift; |
|
|
|
|
72 |
$format=~s/\%m/$!/g; |
$format=~s/\%m/$!/g; |
73 |
|
|
74 |
print STDERR "$::PGM($priority): "; |
my $time = time; |
75 |
print STDERR sprintf($format,@_); |
if ($::CONF{'LogTimeFormat'} ne 'unix') { |
76 |
|
if ($Meteor::Syslog::_lasttimestamp != time) { |
77 |
|
$Meteor::Syslog::_lasttimestring = localtime(time); |
78 |
|
$Meteor::Syslog::_lasttimestamp = time; |
79 |
|
} |
80 |
|
$time = $Meteor::Syslog::_lasttimestring; |
81 |
|
} |
82 |
|
|
83 |
|
print STDERR "$time\t$priority\t"; |
84 |
|
print STDERR sprintf($format,@args); |
85 |
print STDERR "\n" unless(substr($format,-1) eq "\n"); |
print STDERR "\n" unless(substr($format,-1) eq "\n"); |
86 |
|
|
87 |
return; |
return; |
88 |
} |
} |
|
else |
|
|
{ |
|
|
# No expensive syslog calls for debug! |
|
|
return if($_[0] eq 'debug'); |
|
|
} |
|
89 |
|
|
90 |
unless($Meteor::Syslog::_open) |
unless($Meteor::Syslog::_open) |
91 |
{ |
{ |
94 |
$Meteor::Syslog::_open=1; |
$Meteor::Syslog::_open=1; |
95 |
} |
} |
96 |
|
|
97 |
syslog(@_); |
syslog($priority,$format,@args); |
98 |
} |
} |
99 |
|
|
100 |
sub myWarn { |
sub myWarn { |