From 6c9898ba5e8f76540570ac4ed58151a2cb3fbc0a Mon Sep 17 00:00:00 2001 From: Joe Atzberger Date: Fri, 7 May 2010 00:02:24 +0000 Subject: [PATCH] Allow log ident string to be pulled from ENV This supports running multiple SIP interfaces on the same box, even as the same user. --- SIPServer.pm | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/SIPServer.pm b/SIPServer.pm index e2f15e4..12ff351 100644 --- a/SIPServer.pm +++ b/SIPServer.pm @@ -65,8 +65,20 @@ foreach my $svc (keys %{$config->{listeners}}) { # # Logging # -push @parms, "log_file=Sys::Syslog", "syslog_ident=acs-server", - "syslog_facility=" . LOG_SIP; +# Log lines look like this: +# Jun 16 21:21:31 server08 steve_sip: Sip::MsgType::_initialize('Login', ...) +# [ TIMESTAMP ] [ HOST ] [ IDENT ]: Message... +# +# The IDENT is determined by $ENV{SIP_LOG_IDENT}, if present. +# Otherwise it is "_sip" appended to $USER, if present, or "acs-server" as a fallback. +# + +my $syslog_ident = $ENV{SIP_LOG_IDENT} || ($ENV{USER} ? $ENV{USER} . "_sip" : 'acs-server'); + +push @parms, + "log_file=Sys::Syslog", + "syslog_ident=$syslog_ident", + "syslog_facility=" . LOG_SIP; # # Server Management: set parameters for the Net::Server::PreFork -- 2.11.0