]> git.itanic.dy.fi Git - rrdd/blob - debug.h
debug: Improve debugging macros
[rrdd] / debug.h
1 #ifndef __DEBUG_H
2 #define __DEBUG_H
3
4 extern const char red_color[];
5 extern const char green_color[];
6 extern const char normal_color[];
7
8 enum {
9         TRACE_ERR,
10         TRACE_WARN,
11         TRACE_INFO,
12         TRACE_DEBUG,
13         TRACE_MAX,
14 };
15
16 void  __attribute__ ((__format__ (__printf__, 5, 6)))
17 print_trace(const char *file, int line, int color, int l,
18                 const char *fmt, ...);
19
20 #define pr_err(arg...)   print_trace(__FILE__, __LINE__, 1, TRACE_ERR, arg)
21 #define pr_warn(arg...)  print_trace(__FILE__, __LINE__, 2, TRACE_WARN, arg)
22 #define pr_info(arg...)  print_trace(__FILE__, __LINE__, 2, TRACE_INFO, arg)
23 #define pr_debug(arg...) print_trace(__FILE__, __LINE__, 2, TRACE_DEBUG, arg)
24
25 int open_log_file(const char *logfile);
26
27 #endif