【自己編寫的 C++ 超輕量級(jí)日志類(兼容vc++6.0、vs2010、vs2015)】
先來(lái)看效果:
【測(cè)試文件:test.cpp】
/*作者:閆文山 時(shí)間:2017/07/02 介紹: 本日志類功能強(qiáng)大: 1、小巧可愛,全程序(YLog.h+YLog.cpp)不過(guò)一百余行而已,比之網(wǎng)上其他的如log4cpp等堪稱超輕量級(jí); 2、可輸出每條日志信息的日志級(jí)別、輸出時(shí)間(可精確到毫秒級(jí))、所在程序文件名、所在行數(shù)、日志信息(支持可變長(zhǎng)、標(biāo)準(zhǔn)格式化 %s,%d,%f 等參數(shù)); 3、兼容性強(qiáng)大,在vc++6.0、vs2010、vs2015上都測(cè)試通過(guò); 4、構(gòu)造函數(shù)為YLog(const int type, const int level,std::string logname=""); type:可定義每一個(gè)日志文件的輸出方式,支持每次程序運(yùn)行追加(YLOG_ADD)或覆蓋(YLOG_OVER)之前的日志文件; level:可定義下限級(jí)別有嚴(yán)格程度從低到高的TRACE < INFO < WARNING < ERROR < FATAL < RELEASE 六種日志級(jí)別,僅當(dāng)調(diào)用日志輸出函數(shù)的輸出級(jí)別高于定義下限級(jí)別時(shí)才會(huì)往日志文件中寫日志;下限設(shè)為最高release級(jí)別時(shí)不會(huì)產(chǎn)生日志文件; logname:可定義每一個(gè)日志輸出的文件路徑,支持相對(duì)路徑與絕對(duì)路徑,文件夾不存在依然能自己創(chuàng)建;可以省略不寫,則默認(rèn)在當(dāng)前文件夾下產(chǎn)生對(duì)應(yīng)程序名稱的日志文件。*/#include "YLog.h"int main(){ //創(chuàng)建日志對(duì)象log1,日志輸出文件為絕對(duì)路徑的"D:\\y1.log",如果存在則追加;日志輸出下限級(jí)別為INFO級(jí)別 YLog log1(YLOG_ADD, YLOG_INFO,"D:\\y1.log"); //創(chuàng)建日志對(duì)象log2,日志輸出文件為相對(duì)路徑的"y2.log",如果存在則覆蓋;日志輸出下限級(jí)別為ERROR級(jí)別 YLog log2(YLOG_OVER, YLOG_ERROR,"y2.log"); int a = 256; double b = 0.789; std::string c = "hello&quo