Pull logging prefix from program name from argv[0]
authorMichael Jumper <zhangmaike@users.sourceforge.net>
Fri, 16 Mar 2012 05:23:55 +0000 (22:23 -0700)
committerMichael Jumper <zhangmaike@users.sourceforge.net>
Fri, 16 Mar 2012 05:23:55 +0000 (22:23 -0700)
include/log.h
src/daemon.c
src/log.c

index 1c31201..2c1f175 100644 (file)
@@ -40,6 +40,7 @@
 
 #include <guacamole/client.h>
 
+extern char log_prefix[64];
 
 void vguacd_log_info(const char* format, va_list args);
 void vguacd_log_error(const char* format, va_list args);
index 06e9892..aff36e0 100644 (file)
@@ -48,6 +48,7 @@
 
 #include <errno.h>
 #include <syslog.h>
+#include <libgen.h>
 
 #include <guacamole/client.h>
 #include <guacamole/error.h>
@@ -227,6 +228,10 @@ int main(int argc, char* argv[]) {
         }
     }
 
+    /* Set up logging prefix */
+    strncpy(log_prefix, basename(argv[0]), sizeof(log_prefix));
+
+
     /* Get addresses for binding */
     if ((retval = getaddrinfo(listen_address, listen_port, &hints, &addresses))) {
         guacd_log_error("Error parsing given address or port: %s",
index 1cdaed0..99f619b 100644 (file)
--- a/src/log.c
+++ b/src/log.c
@@ -45,6 +45,9 @@
 #include <guacamole/client.h>
 #include <guacamole/error.h>
 
+/* Log prefix, defaulting to "guacd" */
+char log_prefix[64] = "guacd";
+
 void vguacd_log_info(const char* format, va_list args) {
 
     /* Copy log message into buffer */
@@ -55,7 +58,7 @@ void vguacd_log_info(const char* format, va_list args) {
     syslog(LOG_INFO, "%s", message);
 
     /* Log to STDERR */
-    fprintf(stderr, "guacd[%i]: INFO:  %s\n", getpid(), message);
+    fprintf(stderr, "%s[%i]: INFO:  %s\n", log_prefix, getpid(), message);
 
 }
 
@@ -69,7 +72,7 @@ void vguacd_log_error(const char* format, va_list args) {
     syslog(LOG_ERR, "%s", message);
 
     /* Log to STDERR */
-    fprintf(stderr, "guacd[%i]: ERROR: %s\n", getpid(), message);
+    fprintf(stderr, "%s[%i]: ERROR: %s\n", log_prefix, getpid(), message);
 
 }