通過巨集定義的日誌外掛程式 C語言

2021-07-15 07:22:19 字數 954 閱讀 8661

伺服器程式執行少不了日誌檔案的輸出,joyyzhang google了一下相關的外掛程式,發現實現的都太複雜,用起來也不方便,於是joyyzhang通過巨集定義實現了乙個輕量級的日誌外掛程式,只需引用其標頭檔案即可使用,還能自定義日誌的級別,用起來十分方便。

標頭檔案**如下.

#include 

#include

#include

#ifndef log_para

#define log_para

file *log_file = null;

const

char *log_file = "logfile";

const

char level[3][20] = ;

const

int current_level = 1;

const

int print_info = 1;

#define log_on 1

#endif

#if log_on

#define logwrite(level,s,arg...)\

if(print_info)\

if(level >= current_level)\

#else

#define logwrite(level,f dmc_debugs,arg...)

#endif

char *get_msg(int level,std::string s)

void logclear()

/*void test()

*/

將該檔案命名為log.h,放在原始碼的同級目錄下

要用到日誌的**在其頭部加上

#include 

"log.h"

即可使用,具體用法見test()函式,與printf語法基本一樣,還加上了加了日誌級別的判定。

C 日誌巨集定義

專案中,無論客戶端還是服務端,日誌都是必不可少的,一般的日誌格式具備下面幾個要素 時間,日誌等級,原始碼檔案,原始碼行數,日誌字串格式化內容。日誌事例 log err check file failed,task id d,error d itaskid,ierrcode 日誌內容 2017 10 ...

c語言的巨集定義

include define square x x x define pr x printf the result is d.n x int main void 執行結果如下 the result is 16.the result is 4.the result is 14.the result i...

C語言巨集定義

c語言有很多預處理命令,如包含命令 include,巨集定義命令 define。預處理命令在程式編譯之前被編譯器處理,而巨集定義也在此時被替換。或c 語言源程式中允許用乙個識別符號來表示乙個字串,稱為 巨集 被定義為 巨集 的識別符號稱為 巨集名 在編譯預處理時,對程式中所有出現的 巨集名 都用巨集...