#include "common.h"
#include "utils_debug.h"
-/* *** *** *** global variables *** *** *** */
#if COLLECT_DEBUG
-#define DEFAULT_FILENAME "collectd.log"
-
static void cu_vdebug(const char *file, int line, const char *func,
const char *format, va_list ap);
/* if preemptive threads are used, these vars need some sort of locking! */
-/* pth is non-preemptive, so no locking is necessary (?) */
+/* pth is non-preemptive, so no locking is necessary */
static FILE *cu_debug_file = NULL;
static char *cu_debug_filename = NULL;
int
cu_debug_startfile(const char *file, int line, const char *func,
- const char *format, ...)
+ const char *filename, const char *format, ...)
{
va_list ap;
}
if(cu_debug_filename == NULL) {
- cu_debug_filename = sstrdup(DEFAULT_FILENAME);
+ cu_debug_filename = sstrdup(filename);
}
cu_debug_file = fopen(cu_debug_filename, "a");
} /* int cu_debug_resetfile(const char *file, int line, const char *func,
const char *filename) */
-#else /* !COLLECT_DEBUG */
-
-void
-cu_debug(const char *file, int line, const char *func, const char *format, ...)
-{
-}
-int
-cu_debug_startfile(const char *file, int line, const char *func, const char *format, ...)
-{
- return EXIT_SUCCESS;
-}
-int
-cu_debug_stopfile(const char *file, int line, const char *func, const char *format, ...)
-{
- return EXIT_SUCCESS;
-}
-int
-cu_debug_resetfile(const char *file, int line, const char *func, const char *filename)
-{
- return EXIT_SUCCESS;
-}
-
#endif /* COLLECT_DEBUG */
* Niki W. Waibel <niki.waibel@gmx.net>
**/
+/* BUG: at the moment you can use DBG_STARTFILE only ONCE in
+ your program. more then one logfile is not supported. */
+
#if !COLLECTD_UTILS_DEBUG_H
#define COLLECTD_UTILS_DEBUG_H 1
+#if COLLECT_DEBUG
+
#define DBG(...) cu_debug(__FILE__, __LINE__, __func__, \
__VA_ARGS__)
-#define DBG_STARTFILE(...) cu_debug_startfile(__FILE__, __LINE__, \
- __func__, __VA_ARGS__)
+#define DBG_STARTFILE(file, ...) cu_debug_startfile(__FILE__, __LINE__, \
+ __func__, file, __VA_ARGS__)
#define DBG_STOPFILE(...) cu_debug_stopfile(__FILE__, __LINE__, \
__func__, __VA_ARGS__)
const char *format, ...);
int cu_debug_startfile(const char *file, int line, const char *func,
- const char *format, ...);
+ const char *filename, const char *format, ...);
int cu_debug_stopfile(const char *file, int line, const char *func,
const char *format, ...);
int cu_debug_resetfile(const char *file, int line, const char *func,
const char *filename);
+#else /* !COLLECT_DEBUG */
+
+#define DBG(...) /* DBG(...) */
+#define DBG_STARTFILE(file, ...) /* DBG_STARTFILE(file, ...) */
+#define DBG_STOPFILE(...) /* DBG_STOPFILE(...) */
+#define DBG_RESETFILE(file) /* DBG_RESETFILE(file) */
+
+#endif /* COLLECT_DEBUG */
+
#endif /* !COLLECTD_UTILS_DEBUG_H */