mylog.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #include "log4c.h"
  2. #ifndef MYLOG_CATEGORY_NAME
  3. #define MYLOG_CATEGORY_NAME "root"
  4. #endif
  5. #define MYLOGMSG(priority,msg) mylog_msg(MYLOG_CATEGORY_NAME,priority,msg)
  6. #ifndef WITHOUT_LOG4C
  7. #define MYLOG_PRIORITY_ERROR LOG4C_PRIORITY_ERROR
  8. #define MYLOG_PRIORITY_WARN LOG4C_PRIORITY_WARN
  9. #define MYLOG_PRIORITY_NOTICE LOG4C_PRIORITY_NOTICE
  10. #define MYLOG_PRIORITY_DEBUG LOG4C_PRIORITY_DEBUG
  11. #define MYLOG_PRIORITY_TRACE LOG4C_PRIORITY_TRACE
  12. #else
  13. #define MYLOG_PRIORITY_ERROR 1
  14. #define MYLOG_PRIORITY_WARN 2
  15. #define MYLOG_PRIORITY_NOTICE 3
  16. #define MYLOG_PRIORITY_DEBUG 4
  17. #define MYLOG_PRIORITY_TRACE 5
  18. #endif
  19. static LOG4C_INLINE int mylog_init(){
  20. #ifndef WITHOUT_LOG4C
  21. return(log4c_init());
  22. #else
  23. return 0;
  24. #endif
  25. }
  26. static LOG4C_INLINE int mylog_fini(){
  27. #ifndef WITHOUT_LOG4C
  28. return(log4c_fini());
  29. #else
  30. return 0;
  31. #endif
  32. }
  33. static LOG4C_INLINE void mylog_msg(char *catName,int a_priority, char *msg){
  34. #ifndef WITHOUT_LOG4C
  35. log4c_category_log(log4c_category_get(catName), a_priority, msg);
  36. #else
  37. printf(msg);
  38. #endif
  39. }
  40. static LOG4C_INLINE int mylog_setappender(char *catName, char *appName){
  41. #ifndef WITHOUT_LOG4C
  42. log4c_category_set_appender(log4c_category_get(catName)
  43. ,log4c_appender_get(appName));
  44. return(0);
  45. #else
  46. return(0);
  47. #endif
  48. }
  49. static LOG4C_INLINE void mylog_log(char *catName,int a_priority,
  50. const char* a_format,...){
  51. #ifndef WITHOUT_LOG4C
  52. const log4c_category_t* a_category = log4c_category_get(catName);
  53. if (log4c_category_is_priority_enabled(a_category, a_priority)) {
  54. va_list va;
  55. va_start(va, a_format);
  56. log4c_category_vlog(a_category, a_priority, a_format, va);
  57. va_end(va);
  58. }
  59. #else
  60. va_list va;
  61. va_start(va, a_format);
  62. vprintf(a_format, va);
  63. va_end(va);
  64. #endif
  65. }