From: Bill Erickson Date: Thu, 17 Jul 2014 19:10:35 +0000 (-0400) Subject: LP#1343578: Perl/C syslog "logtag" additions. X-Git-Tag: osrf_rel_2_4_0-alpha~11 X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=2f4ed86a136cfb7547f7e8c3e2109f4473139276;p=OpenSRF.git LP#1343578: Perl/C syslog "logtag" additions. * Honor logtag value when applying a default appname for Perl and C * Extract / apply logtag in the router * Minor repair: avoid redundant strdup Signed-off-by: Bill Erickson Signed-off-by: Mike Rylander Signed-off-by: Galen Charlton --- diff --git a/src/libopensrf/log.c b/src/libopensrf/log.c index 1bb2747..7954e72 100644 --- a/src/libopensrf/log.c +++ b/src/libopensrf/log.c @@ -605,7 +605,7 @@ static void _osrfLogToFile( const char* label, long pid, const char* filename, i return; // No log file defined if(!_osrfLogAppname) - _osrfLogAppname = strdup("osrf"); // apply default application name + osrfLogSetAppname("osrf"); // apply default application name char datebuf[36]; time_t t = time(NULL); diff --git a/src/libopensrf/osrf_system.c b/src/libopensrf/osrf_system.c index 7a95819..684dd0d 100644 --- a/src/libopensrf/osrf_system.c +++ b/src/libopensrf/osrf_system.c @@ -395,7 +395,7 @@ int osrfSystemBootstrapClientResc( const char* config_file, if(log_level) llevel = atoi(log_level); if(!strcmp(log_file, "syslog")) { - if(logtag) osrfLogSetLogTag(strdup(logtag)); + if(logtag) osrfLogSetLogTag(logtag); osrfLogInit( OSRF_LOG_TYPE_SYSLOG, contextnode, llevel ); osrfLogSetSyslogFacility(osrfLogFacilityToInt(facility)); if(actlog) osrfLogSetSyslogActFacility(osrfLogFacilityToInt(actlog)); diff --git a/src/perl/lib/OpenSRF/Utils/Logger.pm b/src/perl/lib/OpenSRF/Utils/Logger.pm index 77c8593..4798812 100644 --- a/src/perl/lib/OpenSRF/Utils/Logger.pm +++ b/src/perl/lib/OpenSRF/Utils/Logger.pm @@ -34,8 +34,8 @@ my $logfile; # log file my $facility; # syslog facility my $actfac; # activity log syslog facility my $actfile; # activity log file -my $service = $0; # default service name -my $service_tag = ''; # default service name +my $service; # syslog service name. default provided below. +my $service_tag = ''; # default service tag my $syslog_enabled = 0; # is syslog enabled? my $act_syslog_enabled = 0; # is syslog enabled? my $logfile_enabled = 1; # are we logging to a file? @@ -236,6 +236,9 @@ sub _log_message { my( $msg, $level ) = @_; return if $level > $loglevel; + # apply a sane default service name/tag + $logger->set_service($0) unless $service; + my $l; my $n; my $fac = $facility; diff --git a/src/router/osrf_router_main.c b/src/router/osrf_router_main.c index 5e51062..b7b64e2 100644 --- a/src/router/osrf_router_main.c +++ b/src/router/osrf_router_main.c @@ -256,6 +256,7 @@ static void setupRouter( const jsonObject* configChunk, int configPos ) { const char* level = jsonObjectGetString( jsonObjectGetKeyConst( configChunk, "loglevel" )); const char* log_file = jsonObjectGetString( jsonObjectGetKeyConst( configChunk, "logfile" )); + const char* log_tag = jsonObjectGetString( jsonObjectGetKeyConst( configChunk, "logtag" )); const char* facility = jsonObjectGetString( jsonObjectGetKeyConst( configChunk, "syslog" )); int llevel = 1; @@ -268,6 +269,7 @@ static void setupRouter( const jsonObject* configChunk, int configPos ) { } if(!strcmp(log_file, "syslog")) { + if(log_tag) osrfLogSetLogTag(log_tag); osrfLogInit( OSRF_LOG_TYPE_SYSLOG, "router", llevel ); osrfLogSetSyslogFacility(osrfLogFacilityToInt(facility));