X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=logging.h;h=4f51217b9ac730d68fc3c00c4d4e5d2cc6bf1067;hp=df0d7dedcea1ceb1b72ccd9a74341de84815913e;hb=9bad6028f738e78b69d18947d586dce7b9267785;hpb=51a8bb2f361d86013e7579570faba446eed9c66d diff --git a/logging.h b/logging.h index df0d7dedc..4f51217b9 100644 --- a/logging.h +++ b/logging.h @@ -27,7 +27,8 @@ #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) +#define logging_init(foo) do { } while (0) +#define logging_close(foo) do { } while (0) #ifdef LOG #include @@ -35,51 +36,41 @@ #include #undef info -#define info(format, arg...) \ - do { \ - log_message (LOG_INFO , format , ## arg); \ +#define info(format, arg...) \ + do { \ + log_message(LOG_INFO , format , ## arg); \ } while (0) #ifdef DEBUG #undef dbg -#define dbg(format, arg...) \ - do { \ - log_message (LOG_DEBUG , "%s: " format , __FUNCTION__ , ## arg); \ +#define dbg(format, arg...) \ + do { \ + log_message(LOG_DEBUG , "%s: " format , __FUNCTION__ , ## arg); \ } while (0) #endif /* Parser needs it's own debugging statement, we usually don't care about this at all */ #ifdef DEBUG_PARSER #undef dbg_parse -#define dbg_parse(format, arg...) \ - do { \ - log_message (LOG_DEBUG , "%s: " format , __FUNCTION__ , ## arg); \ +#define dbg_parse(format, arg...) \ + do { \ + log_message(LOG_DEBUG , "%s: " format , __FUNCTION__ , ## arg); \ } while (0) #endif -/* each program must declare this variable and function somewhere */ -extern unsigned char logname[42]; -extern int log_ok(void); - -static void log_message (int level, const char *format, ...) +extern void log_message(int level, const char *format, ...) __attribute__ ((format (printf, 2, 3))); -static inline void log_message (int level, const char *format, ...) -{ - va_list args; - if (!log_ok()) - return; - - va_start(args, format); - vsyslog(level, format, args); - va_end(args); +#undef logging_init +static inline void logging_init(const char *program_name) +{ + openlog(program_name, LOG_PID, LOG_DAEMON); } -#undef init_logging -static inline void init_logging(char *program_name) +#undef logging_close +static inline void logging_close(void) { - snprintf(logname, 42,"%s[%d]", program_name, getpid()); - openlog(logname, 0, LOG_DAEMON); + closelog(); } #endif /* LOG */