Unix下C語言用於記錄日誌的方法 自定義

2021-06-18 04:32:10 字數 856 閱讀 4865

#include #include #include #include #include #include #include #include #include /*

* 此方法改自csdn大牛zhao4zhong1的**

* 此程式用於記錄日誌,執行環境為linux,執行緒安全,單個日誌檔案的最大位元組數為logmaxsize位元組。

* mylog1.log儲存較新的日誌,mylog2.log儲存mylog1.log前面的日誌(大小為logmaxsize位元組)。

*/#define logmaxsize (10 * 1024 * 1024) //日誌檔案最大為10m

#define logmaxlinsize 2048

char logfilename1="mylog1.log";

char logfilename2="mylog2.log";

static char logstr[logmaxlinsize+1];

/*用於儲存當前時間,時間精確到微秒*/

char datestr[16];

char timestr[16];

char mss[4];

pthread_mutex_t cs_log;

file *flog;

void logv(const char *pszfmt,va_list argp)

}else

}}void log(const char *pszfmt,...)

int main(int argc,char * argv)

pthread_mutex_destroy(&cs_log);

return 0;

}

生產環境下的錯誤日誌記錄

display errors 錯誤回顯,一般常用語開發模式,但是很多應用在正式環境中也忘記了關閉此選項。錯誤回顯可以暴露出非常多的敏感資訊,為攻擊者下一步攻擊提供便利。推薦關閉此選項。display errors on 開啟狀態下,若出現錯誤,則報錯,出現錯誤提示 dispaly errors of...

新手看招 Unix和Linux下C語言學習指南

引言儘管 c 語言問世已近 30 年,但它的魅力仍未減退。c 語言繼續吸引著眾多的開發者,他們為了編寫 移植或維護應用程式而必須學習新技能。本文是為了滿足對c語言初學者或想提高自身c語言修為的開發人員的需要而寫的。希望對您的學習和工作有所幫助。您也許不贊同其中的某些方法,但我們希望您會喜歡其中的一些...

新手看招 Unix和Linux下C語言學習指南

引言 儘管 c 語言問世已近 30 年,但它的魅力仍未減退。c 語言繼續吸引著眾多的開發者,他們為了編寫 移植或維護應用程式而必須學習新技能。本文是為了滿足對c語言初學者或想提高自身c語言修為的開發人員的需要而寫的。希望對您的學習和工作有所幫助。您也許不贊同其中的某些方法,但我們希望您會喜歡其中的一...