#ifndef _Shark_Logger_h__ #define _Shark_Logger_h__ #include #define L_disable 0 #define L_debug 3 #define L_warning 1 #define L_error 1 #define LEVEL_MASK 0x03 #define mod_bit_start(mod) (mod*2) /* define the module which need debug info here * at most is 32 modules (index from 0 - 31) */ #define MOD_IO 0 //for io state #define MOD_HEALTH 1 #define MOD_MEASURE 2 #define MOD_STATE 3 #define MOD_SYSTEM 4 extern void set_log_level(int mod, int l); extern void log_debug(int mod, char *fmt, ...); extern void log_warning(int mod, char *fmt, ...); extern void log_error(int mod, char *fmt, ...); /* logger functions */ #define io_debug(fmt, args...) log_debug(MOD_IO, "D"fmt, ##args) #define io_warning(fmt, args...) log_warning(MOD_IO, "W"fmt, ##args) #define io_error(fmt, args...) log_error(MOD_IO, "E"fmt, ##args) #define health_debug(fmt, args...) log_debug(MOD_HEALTH, "D"fmt, ##args) #define health_warning(fmt, args...) log_warning(MOD_HEALTH, "W"fmt, ##args) #define health_error(fmt, args...) log_error(MOD_HEALTH, "E"fmt, ##args) #define measure_debug(fmt, args...) log_debug(MOD_MEASURE, "D"fmt, ##args) #define measure_warning(fmt, args...) log_warning(MOD_MEASURE, "W"fmt, ##args) #define measure_error(fmt, args...) log_error(MOD_MEASURE, "E"fmt, ##args) #define state_debug(fmt, args...) log_debug(MOD_STATE, "D"fmt, ##args) #define state_warning(fmt, args...) log_warning(MOD_STATE, "W"fmt, ##args) #define state_error(fmt, args...) log_error(MOD_STATE, fmt, "E"##args) #define sys_debug(fmt, args...) log_debug(MOD_SYSTEM, fmt, "D"##args) #define sys_warning(fmt, args...) log_warning(MOD_SYSTEM, "W"fmt, ##args) #define sys_error(fmt, args...) log_error(MOD_SYSTEM, fmt, "E"##args) #endif /* _Shark_Logger_h__ */