chiark / gitweb /
volume_id: use udev-provided log-level
[elogind.git] / extras / volume_id / udev_volume_id.c
index a00b01a27daafd4a113990e09eab449d4d259e17..7c6fc4050d6fb70ec5cd76d2c3257d6f911a124e 100644 (file)
 #define BLKGETSIZE64 _IOR(0x12,114,size_t)
 
 #ifdef USE_LOG
-void log_message(int level, const char *format, ...)
+void log_message(int priority, const char *format, ...)
 {
        va_list args;
+       static int udev_log = -1;
+
+       if (udev_log == -1) {
+               const char *value;
+
+               value = getenv("UDEV_LOG");
+               if (value)
+                       udev_log = log_priority(value);
+               else
+                       udev_log = LOG_ERR;
+       }
+
+       if (priority > udev_log)
+               return;
 
        va_start(args, format);
-       vsyslog(level, format, args);
+       vsyslog(priority, format, args);
        va_end(args);
 }
 #endif