changeset 1409:cbd9dbc85476

freeDiameter: improve syslog logging Change -d and -q to control syslog level, as per stdout logging. Syslog to LOG_DAEMON. Actually syslog to LOG_DEBUG, now that -d/-q are used.
author Luke Mewburn <luke@mewburn.net>
date Tue, 18 Feb 2020 17:09:13 +1100
parents 23e224d22f45
children 4ddd4dcd6bb6
files freeDiameterd/main.c
diffstat 1 files changed, 8 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/freeDiameterd/main.c	Tue Feb 18 17:07:40 2020 +1100
+++ b/freeDiameterd/main.c	Tue Feb 18 17:09:13 2020 +1100
@@ -65,6 +65,10 @@
 
 static void syslog_logger(int loglevel, const char * format, va_list args)
 {
+	if (loglevel < fd_g_debug_lvl) {
+		return;
+	}
+
 	int level;
 
 	switch (loglevel) {
@@ -82,17 +86,13 @@
 		break;
 	default:
 		/* fallthrough */
+	case FD_LOG_ANNOYING:
 	case FD_LOG_DEBUG:
-		/* some systems log LOG_DEBUG to a file; but
-		 * freeDiameter debug output is too verbose */
-		return;
-#if 0
 		level = LOG_DEBUG;
 		break;
-#endif
 	}
 
-	vsyslog(level, format, args);
+	vsyslog(level | LOG_DAEMON, format, args);
 }
 
 
@@ -188,12 +188,12 @@
 		"  -s, --syslog            Write log output to syslog (instead of stdout)\n");
  	printf( "\nDebug:\n"
   		"  These options are mostly useful for developers\n"
-  		"  -d, --debug             Increase verbosity of debug messages if default logger is used\n"
+		"  -d, --debug             Increase verbosity of log messages\n"
   		"  -f, --dbg_func <func>   Enable all traces within the function <func>\n"
   		"  -F, --dbg_file <file.c> Enable all traces within the file <file.c> (basename match)\n"
 		"  -g, --dbg_gnutls <int>  Enable GNU TLS debug at level <int>\n"
   		"  -l, --dbglocale         Set the locale for error messages\n"
-  		"  -q, --quiet             Decrease verbosity if default logger is used\n"
+		"  -q, --quiet             Decrease verbosity of log messages\n"
 	);
 }
 
"Welcome to our mercurial repository"