zoukankan      html  css  js  c++  java
  • zlog日志库的简单封装,以及给debug级别添加颜色显示

    现看看效果如何:

    方法如下:

     定义相关颜色的宏 

     1 #define ESC_START       "33["
     2 #define ESC_END         "33[0m"
     3 #define COLOR_FATAL     "31;40;5m"
     4 #define COLOR_ALERT     "31;40;1m"
     5 #define COLOR_CRIT      "31;40;1m"
     6 #define COLOR_ERROR     "35;40;1m"
     7 #define COLOR_WARN      "33;40;1m"
     8 #define COLOR_NOTICE    "34;40;1m"
     9 #define COLOR_INFO      "32;40;1m"
    10 #define COLOR_DEBUG     "36;40;1m"
    11 #define COLOR_TRACE     "37;40;1m"

    封装 zlog函数

     1 extern zlog_category_t * log_category;
     2 extern int log_init();
     3 extern void log_fini();
     4 #define LOG_FATAL(fmt,args...)         
     5     zlog(log_category, __FILE__, sizeof(__FILE__)-1, 
     6     __func__, sizeof(__func__)-1, __LINE__, 
     7     ZLOG_LEVEL_FATAL, ESC_START COLOR_FATAL fmt ESC_END, ##args)
     8 
     9     
    10 #define LOG_ERROR(fmt , args...)    
    11     zlog(log_category, __FILE__, sizeof(__FILE__)-1, 
    12     __func__, sizeof(__func__)-1, __LINE__, 
    13     ZLOG_LEVEL_ERROR, ESC_START COLOR_ERROR fmt ESC_END, ##args)
    14     
    15 #define LOG_WARN(fmt, args...)        
    16     zlog(log_category, __FILE__, sizeof(__FILE__)-1, 
    17     __func__, sizeof(__func__)-1, __LINE__, 
    18     ZLOG_LEVEL_WARN, ESC_START COLOR_WARN fmt ESC_END, ##args)
    19     
    20 #define LOG_NOTICE(fmt , args...)    
    21     zlog(log_category, __FILE__, sizeof(__FILE__)-1, 
    22     __func__, sizeof(__func__)-1, __LINE__, 
    23     ZLOG_LEVEL_NOTICE, ESC_START COLOR_NOTICE fmt ESC_END, ##args)
    24     
    25 #define LOG_INFO(fmt,args...)         
    26     zlog(log_category, __FILE__, sizeof(__FILE__)-1, 
    27     __func__, sizeof(__func__)-1, __LINE__, 
    28     ZLOG_LEVEL_INFO, ESC_START COLOR_INFO fmt ESC_END, ##args)
    29     
    30 #define LOG_DEBUG(fmt , args...)    
    31     zlog(log_category, __FILE__, sizeof(__FILE__)-1, 
    32     __func__, sizeof(__func__)-1, __LINE__, 
    33     ZLOG_LEVEL_DEBUG, ESC_START COLOR_DEBUG fmt ESC_END, ##args)

     封装 zlog_init,zlog_get_category,zlog_fini

     1 zlog_category_t * log_category = NULL;
     2 
     3 int log_init() {
     4     //初始化.配置文件名是固定的log.conf
     5     if (zlog_init("log.conf"))  {
     6         printf("Error: zlog_init
    ");
     7     zlog_fini();
     8         return -1;
     9     }
    10     //找到分类,在配置文件中的category
    11     log_category = zlog_get_category("my_cat");
    12     if (!log_category) {
    13     printf("Error: get cat fail
    ");
    14     zlog_fini();
    15     return -2;
    16     }
    17     return 0 ;
    18 }
    19 
    20 
    21 void log_fini() {
    22     zlog_fini();
    23 }
  • 相关阅读:
    实验三
    实验二 结对四则运算
    实验一 小学四则运算修改版
    实验一 小学四则运算
    JS 原型链学习总结
    JS function的定义方法,及function对象的理解。
    JS 点击事件学习总结
    JS 样式操作学习总结。
    js各种间距数据汇总
    css-display
  • 原文地址:https://www.cnblogs.com/superPerfect/p/3621648.html
Copyright © 2011-2022 走看看