1 #ifndef _LOGGING_H
2 #define _LOGGING_H
3 
4 #define LOG_LEVEL_INFO		0
5 #define LOG_LEVEL_WARNING	1
6 #define LOG_LEVEL_ERROR		2
7 #define LOG_LEVEL_DEBUG		3
8 
9 #define INFO(fmt, args...) \
10 		log_write(LOG_LEVEL_INFO, LOG_SUBNAME, fmt, ##args);
11 	/*if (_log_level <= LOG_LEVEL_INFO) \*/
12 #define WARNING(fmt, args...) \
13 		log_write(LOG_LEVEL_WARNING, LOG_SUBNAME, fmt, ##args);
14 	/*if (_log_level <= LOG_LEVEL_WARNING) \*/
15 #define ERROR(fmt) \
16 		log_write(LOG_LEVEL_ERROR, LOG_SUBNAME, "in %s near line %d: "fmt, __FILE__, __LINE__);
17 	/*if (_log_level <= LOG_LEVEL_ERROR) \*/
18 #define ERRORV(fmt, args...) \
19 		log_write(LOG_LEVEL_ERROR, LOG_SUBNAME, "in %s near line %d: "fmt, __FILE__, __LINE__, ##args);
20 	/*if (_log_level <= LOG_LEVEL_ERROR) \*/
21 
22 #ifdef DEBUG
23 #undef DEBUG
24 #define DEBUG(fmt, args...) if (debug == 1) log_write(LOG_LEVEL_DEBUG, LOG_SUBNAME, fmt, ##args);
25 #else
26 #undef DEBUG
27 #define DEBUG(fmt, args...)
28 #endif
29 
30 #define LOG_SUBNAME "default"
31 
32 //extern int _log_level;
33 
34 extern int log_init(char *, char*);
35 extern void log_write(int, char *, char *, ...);
36 extern void log_close(void);
37 
38 #endif // _LOGGING_H
39 
40