-#define __log(Level, Fmt, ...) \
- if (log_level >= Level) { \
- if (log_syslog) { \
- syslog(Level, Fmt, ##__VA_ARGS__); \
- } else { \
- fprintf(stderr, "[%d] " Fmt "\n", \
- Level, ##__VA_ARGS__); \
- } \
+#define __level_name(L) \
+ ( (L) == LOG_DEBUG ? "debug " \
+ : (L) == LOG_NOTICE ? "notice" \
+ : (L) == LOG_INFO ? "info " \
+ : (L) == LOG_WARNING ? "warn " \
+ : (L) == LOG_ERR ? "error " \
+ : (L) == LOG_CRIT ? "crit " \
+ : (L) == LOG_ALERT ? "alert " \
+ : "??? " )
+
+#define __log(Level, Fmt, ...) \
+ if (log_level >= Level) { \
+ if (log_syslog) { \
+ syslog(Level, "%s" Fmt, log_state, ##__VA_ARGS__); \
+ } else { \
+ fprintf(stderr, "[%s] %s" Fmt "\n", \
+ __level_name(Level), log_state, ##__VA_ARGS__);\
+ } \