logger.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #ifndef _Shark_Logger_h__
  2. #define _Shark_Logger_h__
  3. #include <stdarg.h>
  4. #define L_disable 0
  5. #define L_debug 1
  6. #define L_warning 2
  7. #define L_error 3
  8. #define LEVEL_MASK 0x03
  9. #define mod_bit_start(mod) (mod*2)
  10. /* define the module which need debug info here
  11. * at most is 32 modules (index from 0 - 31)
  12. */
  13. #define MOD_IO 0 //for io state
  14. #define MOD_HEALTH 1
  15. #define MOD_MEASURE 2
  16. #define MOD_STATE 3
  17. #define MOD_SYSTEM 4
  18. extern void set_log_level(int mod, int l);
  19. extern void log_debug(int mod, char *fmt, ...);
  20. extern void log_warning(int mod, char *fmt, ...);
  21. extern void log_error(int mod, char *fmt, ...);
  22. /* logger functions */
  23. #define io_debug(fmt, args...) log_debug(MOD_IO, "[IO:D]"fmt, ##args)
  24. #define io_warning(fmt, args...) log_warning(MOD_IO, "[IO:W]"fmt, ##args)
  25. #define io_error(fmt, args...) log_error(MOD_IO, "[IO:E]"fmt, ##args)
  26. #define health_debug(fmt, args...) log_debug(MOD_HEALTH, "[HEALTH:D]"fmt, ##args)
  27. #define health_warning(fmt, args...) log_warning(MOD_HEALTH, "[HEALTH:W]"fmt, ##args)
  28. #define health_error(fmt, args...) log_error(MOD_HEALTH, "[HEALTH:E]"fmt, ##args)
  29. #define measure_debug(fmt, args...) log_debug(MOD_MEASURE, "[MEASURE:D]"fmt, ##args)
  30. #define measure_warning(fmt, args...) log_warning(MOD_MEASURE, "[MEASURE:W]"fmt, ##args)
  31. #define measure_error(fmt, args...) log_error(MOD_MEASURE, "[MEASURE:E]"fmt, ##args)
  32. #define state_debug(fmt, args...) log_debug(MOD_STATE, "[STATE:D]"fmt, ##args)
  33. #define state_warning(fmt, args...) log_warning(MOD_STATE, "[STATE:W]"fmt, ##args)
  34. #define state_error(fmt, args...) log_error(MOD_STATE, fmt, "[STATE:E]"##args)
  35. #define sys_debug(fmt, args...) log_debug(MOD_SYSTEM, fmt, "[SYS:D]"##args)
  36. #define sys_warning(fmt, args...) log_warning(MOD_SYSTEM, "[SYS:W]"fmt, ##args)
  37. #define sys_error(fmt, args...) log_error(MOD_SYSTEM, fmt, "[SYS:E]"##args)
  38. #endif /* _Shark_Logger_h__ */