chiark / gitweb /
[PATCH] make logging a config option
[elogind.git] / logging.h
index e233ddc88972b59ff6906fc4eded9a069bb02f65..5ae228b139fa778379ac0e03011b44adfd1bd60c 100644 (file)
--- a/logging.h
+++ b/logging.h
 #define info(format, arg...)           do { } while (0)
 #define dbg(format, arg...)            do { } while (0)
 #define dbg_parse(format, arg...)      do { } while (0)
+#define init_logging(foo)              do { } while (0)
 
 #ifdef LOG
 #include <stdarg.h>
+#include <unistd.h>
 #include <syslog.h>
 
+#include "udev.h"
+#include "udev_version.h"
+
 #undef info
 #define info(format, arg...)                                                           \
        do {                                                                            \
@@ -61,6 +66,9 @@ static inline void log_message (int level, const char *format, ...)
 {
        va_list args;
 
+       if (0 != strncmp(udev_log_str, UDEV_LOG_DEFAULT, BOOL_SIZE))
+               return;
+
        va_start(args, format);
        vsyslog(level, format, args);
        va_end(args);
@@ -69,6 +77,7 @@ static inline void log_message (int level, const char *format, ...)
 /* each program must declare this variable somewhere */
 extern unsigned char logname[42];
 
+#undef init_logging
 static inline void init_logging(char *program_name)
 {
        snprintf(logname, 42,"%s[%d]", program_name, getpid());