6 #define NETDATA_LOG_H 1
8 #define D_WEB_BUFFER 0x00000001
9 #define D_WEB_CLIENT 0x00000002
10 #define D_LISTENER 0x00000004
11 #define D_WEB_DATA 0x00000008
12 #define D_OPTIONS 0x00000010
13 #define D_PROCNETDEV_LOOP 0x00000020
14 #define D_RRD_STATS 0x00000040
15 #define D_WEB_CLIENT_ACCESS 0x00000080
16 #define D_TC_LOOP 0x00000100
17 #define D_DEFLATE 0x00000200
18 #define D_CONFIG 0x00000400
19 #define D_PLUGINSD 0x00000800
20 #define D_CHILDS 0x00001000
21 #define D_EXIT 0x00002000
22 #define D_CHECKS 0x00004000
23 #define D_NFACCT_LOOP 0x00008000
24 #define D_PROCFILE 0x00010000
25 #define D_RRD_CALLS 0x00020000
26 #define D_DICTIONARY 0x00040000
27 #define D_MEMORY 0x00080000
28 #define D_CGROUP 0x00100000
30 //#define DEBUG (D_WEB_CLIENT_ACCESS|D_LISTENER|D_RRD_STATS)
31 //#define DEBUG 0xffffffff
34 extern unsigned long long debug_flags;
36 extern const char *program_name;
41 extern FILE *stdaccess;
43 extern int access_log_syslog;
44 extern int error_log_syslog;
45 extern int output_log_syslog;
47 extern time_t error_log_throttle_period;
48 extern unsigned long error_log_errors_per_period;
49 extern int error_log_limit(int reset);
51 #define error_log_limit_reset() do { error_log_limit(1); } while(0)
53 #define debug(type, args...) do { if(unlikely(!silent && (debug_flags & type))) debug_int(__FILE__, __FUNCTION__, __LINE__, ##args); } while(0)
54 #define info(args...) info_int(__FILE__, __FUNCTION__, __LINE__, ##args)
55 #define infoerr(args...) error_int("INFO", __FILE__, __FUNCTION__, __LINE__, ##args)
56 #define error(args...) error_int("ERROR", __FILE__, __FUNCTION__, __LINE__, ##args)
57 #define fatal(args...) fatal_int(__FILE__, __FUNCTION__, __LINE__, ##args)
59 extern void log_date(FILE *out);
60 extern void debug_int( const char *file, const char *function, const unsigned long line, const char *fmt, ... );
61 extern void info_int( const char *file, const char *function, const unsigned long line, const char *fmt, ... );
62 extern void error_int( const char *prefix, const char *file, const char *function, const unsigned long line, const char *fmt, ... );
63 extern void fatal_int( const char *file, const char *function, const unsigned long line, const char *fmt, ... ) __attribute__ ((noreturn));
64 extern void log_access( const char *fmt, ... );
66 #endif /* NETDATA_LOG_H */