#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
+#ifdef USE_LOG
#include <stdarg.h>
#include <unistd.h>
#include <syslog.h>
#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[42];
+#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 */
+#endif /* USE_LOG */
#endif