zoukankan      html  css  js  c++  java
  • print to console or file

    /*----------------------------------------------------------------------*/
    /*              Debug for embeded board, 2008-2-26, Rain.               */
    /*----------------------------------------------------------------------*/
    #define  PRINT_DEBUG    1
    #define  UNDERLINE              "33[4m"
    #define  BLACK                  "33[30m"
    #define  RED                    "33[31m"
    #define  GREEN                  "33[32m"
    #define  YELLOW                 "33[33m"
    #define  BLUE                   "33[34m"
    #define  PURPLE                 "33[35m"
    #define  DARKGREEN              "33[36m"
    #define  WHITE                  "33[37m"
    #define  BG_BLACK               "33[40m"
    #define  BG_RED                 "33[41m"
    #define  BG_GREEN               "33[42m"
    #define  BG_YELLOW              "33[43m"
    #define  BG_BLUE                "33[44m"
    #define  BG_PURPLE              "33[45m"
    #define  BG_DARKGREEN           "33[46m"
    #define  BG_WHITE               "33[47m"
    #define  CLOSE                  "33[0m"
    #define cprintf(fmt, args...) do           
    {                                              
        FILE *fp1 = fopen("/dev/tty", "a");
        FILE *fp2 = fopen("/tmp/dbg.txt", "a");
        int  flag = 0;                         
        if (fp1 && (flag == 0 || flag == 2)) { 
            fprintf(fp1, fmt, ## args);    
            fclose(fp1);                   
        }                                      
        if (fp2 && (flag == 1 || flag == 2)) { 
            fprintf(fp2, fmt, ## args);    
            fclose(fp2);                   
        }
    } while (0)

    #ifdef  PRINT_DEBUG
    #define dbg(fmt, args...)   
        cprintf("==> CGI_DEBUG %s | %s %d | " fmt CLOSE, __FILE__, __FUNCTION__, __LINE__, ##args)
    #else
    #define dbg(fmt, args...)
    #endif
    /*----------------------------------------------------------------------*/

    /*----------------------------------------------------------------------*/
    /*              Debug for SSH terminal, 2008-2-26, Rain.                */
    /*----------------------------------------------------------------------*/
    #define  PRINT_DEBUG    1
    #define  UNDERLINE              "33[4m"
    #define  BLACK                  "33[30m"
    #define  RED                    "33[31m"
    #define  GREEN                  "33[32m"
    #define  YELLOW                 "33[33m"
    #define  BLUE                   "33[34m"
    #define  PURPLE                 "33[35m"
    #define  DARKGREEN              "33[36m"
    #define  WHITE                  "33[37m"
    #define  BG_BLACK               "33[40m"
    #define  BG_RED                 "33[41m"
    #define  BG_GREEN               "33[42m"
    #define  BG_YELLOW              "33[43m"
    #define  BG_BLUE                "33[44m"
    #define  BG_PURPLE              "33[45m"
    #define  BG_DARKGREEN           "33[46m"
    #define  BG_WHITE               "33[47m"
    #define  CLOSE                  "33[0m"
    #define cprintf(fmt, args...) do           
    {                                              
        char *dev = getenv("SSH_TTY");         
        FILE *fp1 = fopen(dev, "a");           
        FILE *fp2 = fopen("/tmp/dbg.txt", "a");
        int  flag = 0;                         
        if (fp1 && (flag == 0 || flag == 2)) { 
            fprintf(fp1, fmt, ## args);    
            fclose(fp1);                   
        }                                      
        if (fp2 && (flag == 1 || flag == 2)) { 
            fprintf(fp2, fmt, ## args);    
            fclose(fp2);                   
        }
    } while (0)

    #ifdef  PRINT_DEBUG
    #define dbg(fmt, args...)   
        cprintf("==> CGI_DEBUG %s | %s %d | " fmt CLOSE, __FILE__, __FUNCTION__, __LINE__, ##args)
    #else
    #define dbg(fmt, args...)
    #endif
    /*----------------------------------------------------------------------*/

  • 相关阅读:
    pdf2html 的docker使用方法和细节
    CSS 各种特效,让设计高大上
    阳光沙滩的ps图片应该包含的元素
    flex布局好好研究把,总是记不住,记性差了,为什么
    proxy研究,不要照本宣科,我们来点有研究精神的文章
    彻底弄懂vue的scoped和deep的作用-----这两个关键词主要处理CSS相关的东西
    JS从数组中,随机抽取6个不重复的元素
    关于nginx隐藏index.php入口文件注意事项
    TP开发项目时遇到的问题记录
    TP3.2.x判断手机端访问,同一个域名在PC和手机端展示不同模板(半独立式网站)
  • 原文地址:https://www.cnblogs.com/lytwajue/p/7352525.html
Copyright © 2011-2022 走看看