]> git.proxmox.com Git - pve-common.git/blob - src/PVE/SafeSyslog.pm
fix #1548: replace perl use vars with our
[pve-common.git] / src / PVE / SafeSyslog.pm
1 package PVE::SafeSyslog;
2
3 use strict;
4 use warnings;
5 use File::Basename;
6 use Sys::Syslog ();
7 use Encode;
8 use base 'Exporter';
9
10 our $VERSION = '1.00';
11
12
13 our @EXPORT = qw(syslog initlog);
14
15 my $log_tag = "unknown";
16
17 # never log to console - thats too slow, and
18 # it corrupts the DBD database connection!
19
20 sub syslog {
21 eval { Sys::Syslog::syslog (@_); }; # ignore errors
22 }
23
24 sub initlog {
25 my ($tag, $facility) = @_;
26
27 if ($tag) {
28 $tag = basename($tag);
29
30 $tag = encode("ascii", decode_utf8($tag));
31
32 $log_tag = $tag;
33 }
34
35 $facility = "daemon" if !$facility;
36
37 # never log to console - thats too slow
38 Sys::Syslog::setlogsock ('unix');
39
40 Sys::Syslog::openlog ($log_tag, 'pid', $facility);
41 }
42
43 sub tag {
44 return $log_tag;
45 }
46
47 1;