void (*log_task_id)(int fd);
};
-void do_debug_header(int level);
+void do_debug_header(int level, const char *location, const char *func);
void do_debug(const char *, ...) PRINTF_ATTRIBUTE(1,2);
extern int DEBUGLEVEL;
#define _DEBUG(level, body, header) do { \
if (DEBUGLVL(level)) { \
if (header) { \
- do_debug_header(level); \
+ do_debug_header(level, __location__, __FUNCTION__); \
} \
do_debug body; \
} \
the backend for debug messages. Note that the DEBUG() macro has already
ensured that the log level has been met before this is called
*/
-void do_debug_header(int level)
+void do_debug_header(int level, const char *location, const char *func)
{
- log_timestring(level);
+ log_timestring(level, location, func);
log_task_id();
}
}
}
-void log_timestring(int level)
+void log_timestring(int level, const char *location, const char *func)
{
char *t = NULL;
char *s = NULL;
t = timestring(NULL, time(NULL));
if (!t) return;
- asprintf(&s, "[%s, %d]\n", t, level);
+ asprintf(&s, "[%s, %d %s:%s()]\n", t, level, location, func);
talloc_free(t);
if (!s) return;