[c程式設計在linux上]用printf做彩色日誌記錄
寫了乙個簡單的程式,但是考慮到有一些資訊是需要列印在控制台上的,就像在windows上啟動apache tomcat時控制台顯示的資訊一樣。琢磨一會兒之後,對printf進行了封裝,支援控制台列印日誌,支援輸出到檔案裡。不過控制台都是固定顏色的,不好看。於是在網上找了一下資料,printf還真支援輸出不同的顏色,如下:
例項:printf("\033[1;33m hello world. \033[0m \n");
\033 [1; 33m ***x
| | | |
開始 背景色 字型色 字串
一些常見的顏色**:
none = "\033[0m"
black = "\033[0;30m"
dark_gray = "\033[1;30m"
blue = "\033[0;34m"
light_blue = "\033[1;34m"
green = "\033[0;32m"
light_green
-= "\033[1;32m"
cyan = "\033[0;36m"
light_cyan = "\033[1;36m"
red = "\033[0;31m"
light_red = "\033[1;31m"
purple = "\033[0;35m"
light_purple = "\033[1;35m"
brown = "\033[0;33m"
yellow = "\033[1;33m"
light_gray = "\033[0;37m"
white = "\033[1;37m"
輸出:
#include#define print_red(...) printf("\033[31m [filename:%s, function:%s, line:%d]\033[0m", __file__, __function__, __line__); \
printf("\033[31m"__va_args__"\033[0m"); \
printf("\n");
#define print_green(...) printf("\033[32m [filename:%s, function:%s, line:%d]\033[0m", __file__, __function__, __line__); \
printf("\033[32m"__va_args__"\033[0m"); \
printf("\n");
int main(int argc, const char *argv)
巨集定義
#define print(...) printf("[%s %d]: %s\n", __file__, __line__, __va_args__)
printf記錄程式日誌
但是通常我們需要在記錄日誌的時候記錄更多的資訊,比如說執行時間等,所以我們不能使用一條簡單的printf來完成該操作,另外,為防止日誌資訊以外丟失,我們最好是在每次printf後立即呼叫fflush。所以我們通常會使用下面的方法來完成日誌記錄操作 void cdecl log0 const char...
用Swatch做Linux日誌分析
1 建立swatch軟體包存放的目錄.mkdir p usr local src log 2 解壓縮源 包,在log目錄下會生成乙個新的目錄apache 1.3.33 tar zpxf swatch 3.1.1.tar.gz 二.安裝 cd swatch 3.1.1 make make test m...
用 R做 DEA 工作記錄
簡單來說,dea算tfp是這個意思。因為沒有找到python算dea的很多資料,不知道怎麼下手,用了網上乙個人寫的 結果也是錯的,還有別的方法太複雜。查到乙個 pydea 包,也沒看到任何人用過。最後查了一下,發現r有成熟的包,函式看起來也很簡單,就用了一下。弄了半天,男朋友又不要算這個指標了,他根...