@@ -48,14 +48,11 @@ sub _new_instance {
48
48
49
49
# Old name: Log::do_openlog().
50
50
sub openlog {
51
- my $self = shift ;
52
- my $facility = shift ;
53
- my $socket_type = shift ;
54
- my %options = @_ ;
55
-
56
- $self -> {_facility } = $facility ;
57
- $self -> {_socket_type } = $socket_type ;
58
- $self -> {_service } = $options {service } || _daemon_name() || ' sympa' ;
51
+ my $self = shift ;
52
+ my %options = @_ ;
53
+
54
+ $self -> {_facility } = $options {facility };
55
+ $self -> {_service } = $options {service } || _daemon_name() || ' sympa' ;
59
56
$self -> {_database_backend } =
60
57
(exists $options {database_backend })
61
58
? $options {database_backend }
@@ -222,15 +219,24 @@ sub _daemon_name {
222
219
sub _connect {
223
220
my $self = shift ;
224
221
225
- if ($self -> {_socket_type } =~ / ^(unix|inet)$ /i ) {
226
- Sys::Syslog::setlogsock(lc ($self -> {_socket_type }));
222
+ if (@{$Conf::Conf {' syslog_socket.type' } || []}) {
223
+ Sys::Syslog::setlogsock(
224
+ { (type => $Conf::Conf {' syslog_socket.type' }),
225
+ map {
226
+ length ($Conf::Conf {" syslog_socket.$_ " } // ' ' )
227
+ ? ($_ => $Conf::Conf {" syslog_socket.$_ " })
228
+ : ()
229
+ } qw( path timeout host port)
230
+ }
231
+ );
227
232
}
233
+
228
234
# Close log may be useful: If parent processus did open log child
229
235
# process inherit the openlog with parameters from parent process.
230
236
Sys::Syslog::closelog;
231
237
eval {
232
238
Sys::Syslog::openlog(sprintf (' %s[%s]' , $self -> {_service }, $PID ),
233
- ' ndelay,nofatal' , $self -> {_facility });
239
+ ' ndelay,nofatal' , $self -> {_facility } || $Conf::Conf { ' syslog ' } );
234
240
};
235
241
if ($EVAL_ERROR && ($warning_date < time - $warning_timeout )) {
236
242
warn sprintf ' No logs available: %s' , $EVAL_ERROR ;
@@ -819,7 +825,7 @@ Sympa::Log - Logging facility of Sympa
819
825
use Sympa::Log;
820
826
821
827
my $log = Sympa::Log->instance;
822
- $log->openlog($ facility, 'inet' );
828
+ $log->openlog(facility => $facility );
823
829
$log->{level} = 0;
824
830
$log->syslog('info', '%s: Stat logging', $$);
825
831
836
842
I<Constructor > .
837
843
Creates new singleton instance of L<Sympa::Log> .
838
844
839
- =item openlog ( $facility, $socket_type, [ options ... ] )
845
+ =item openlog ( [ options ... ] )
840
846
841
847
TBD.
842
848
0 commit comments