#include <unistd.h>
#include <syslog.h>
-#define LOGNAME_SIZE 42
-
#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 { \
+#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 { \
+#define dbg_parse(format, arg...) \
+ do { \
log_message(LOG_DEBUG , "%s: " format , __FUNCTION__ , ## arg); \
} while (0)
#endif
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)
+static inline void logging_init(const char *program_name)
{
- snprintf(logname, LOGNAME_SIZE,"%s[%d]", program_name, getpid());
- openlog(logname, 0, LOG_DAEMON);
+ openlog(program_name, LOG_PID, LOG_DAEMON);
}
#undef logging_close