X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=logging.h;h=30f52c84ce6969eda5b0fb54c1a2c4151389c802;hp=df5922b3e666e0af7a483685f895cfdb80a5b000;hb=3bdef3939d6501b26dac82fdc6f8e74d854a1f14;hpb=267f534d1c809c31e0dcc9613953ecac45529038 diff --git a/logging.h b/logging.h index df5922b3e..30f52c84c 100644 --- a/logging.h +++ b/logging.h @@ -1,9 +1,9 @@ /* * logging.h * - * Userspace devfs + * Simple logging functions that can be compiled away into nothing. * - * Copyright (C) 2003 Greg Kroah-Hartman + * Copyright (C) 2003,2004 Greg Kroah-Hartman * Copyright (C) 2004 Kay Sievers * * This program is free software; you can redistribute it and/or modify it @@ -27,21 +27,27 @@ #define info(format, arg...) do { } while (0) #define dbg(format, arg...) do { } while (0) #define dbg_parse(format, arg...) do { } while (0) +#define logging_init(foo) do { } while (0) +#define logging_close(foo) do { } while (0) #ifdef LOG +#include +#include #include +#define LOGNAME_SIZE 42 + #undef info #define info(format, arg...) \ do { \ - log_message (LOG_INFO , format , ## arg); \ + 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); \ + log_message(LOG_DEBUG , "%s: " format , __FUNCTION__ , ## arg); \ } while (0) #endif @@ -50,13 +56,29 @@ #undef dbg_parse #define dbg_parse(format, arg...) \ do { \ - log_message (LOG_DEBUG , "%s: " format , __FUNCTION__ , ## arg); \ + log_message(LOG_DEBUG , "%s: " format , __FUNCTION__ , ## arg); \ } while (0) #endif -#endif /* LOG */ - -extern int log_message (int level, const char *format, ...) +extern void log_message(int level, const char *format, ...) __attribute__ ((format (printf, 2, 3))); +/* each program that uses syslog must declare this variable somewhere */ +extern unsigned char logname[LOGNAME_SIZE]; + +#undef logging_init +static inline void logging_init(char *program_name) +{ + snprintf(logname, LOGNAME_SIZE,"%s[%d]", program_name, getpid()); + openlog(logname, 0, LOG_DAEMON); +} + +#undef logging_close +static inline void logging_close(void) +{ + closelog(); +} + +#endif /* LOG */ + #endif