程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 簡易C/C++日志

簡易C/C++日志

編輯:C++入門知識

C/C++沒有標准的日志庫,很多人使用printf直接代替。但它有個缺點,就是不能對輸出信息進行分級控制。使用log4cpp等似乎太重量級了。這裡我給一個我自己經常使用的幾個簡單的日志函數

[cpp]
#include <stdio.h> 
#if defined(DEBUG) 
#define debug(...) {fprintf(stderr, __VA_ARGS__); fflush(stderr);} 
#else 
#define debug(...) 
#endif  
 
#if defined(DEBUG) || defined(INFO) 
#define info(...) { fprintf(stderr, __VA_ARGS__); fflush(stderr);} 
#else 
#define info(...) 
#endif 
 
#if defined(DEBUG) || defined(INFO) || defined(ERROR) 
#define error(...) { fprintf(stderr, __VA_ARGS__); fflush(stderr);} 
#else 
#define error(...)  
#endif 
 
 
main() 

    debug("1 %d\n", 23); 
    info("2 %d\n", 23); 
    error("3 %d\n", 23); 

在makefile或工程中定義DEBUG、INFO或ERROR分別指定不同的輸出級別,如果不定義則什麼也不輸出。 


摘自  ani_di的專欄
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved