【自己編寫的 C++ 超輕量級日志類(兼容vc++6.0、vs2010、vs2015)】

先來看效果:

【測試文件:test.cpp】

大數(shù)據(jù)培訓,云培訓,數(shù)據(jù)挖掘培訓,云計算培訓,高端軟件開發(fā)培訓,項目經理培訓

/*作者:閆文山

時間:2017/07/02

介紹:
本日志類功能強大:

1、小巧可愛,全程序(YLog.h+YLog.cpp)不過一百余行而已,比之網上其他的如log4cpp等堪稱超輕量級;

2、可輸出每條日志信息的日志級別、輸出時間(可精確到毫秒級)、所在程序文件名、所在行數(shù)、日志信息(支持可變長、標準格式化 %s,%d,%f 等參數(shù));

3、兼容性強大,在vc++6.0、vs2010、vs2015上都測試通過;

4、構造函數(shù)為YLog(const int type, const int level,std::string logname="");

type:可定義每一個日志文件的輸出方式,支持每次程序運行追加(YLOG_ADD)或覆蓋(YLOG_OVER)之前的日志文件;

level:可定義下限級別有嚴格程度從低到高的TRACE < INFO < WARNING < ERROR < FATAL < RELEASE 六種日志級別,僅當調用日志輸出函數(shù)的輸出級別高于定義下限級別時才會往日志文件中寫日志;下限設為最高release級別時不會產生日志文件;

logname:可定義每一個日志輸出的文件路徑,支持相對路徑與絕對路徑,文件夾不存在依然能自己創(chuàng)建;可以省略不寫,則默認在當前文件夾下產生對應程序名稱的日志文件。*/#include "YLog.h"int main(){    //創(chuàng)建日志對象log1,日志輸出文件為絕對路徑的"D:\\y1.log",如果存在則追加;日志輸出下限級別為INFO級別
    YLog log1(YLOG_ADD, YLOG_INFO,"D:\\y1.log");    //創(chuàng)建日志對象log2,日志輸出文件為相對路徑的"y2.log",如果存在則覆蓋;日志輸出下限級別為ERROR級別
    YLog log2(YLOG_OVER, YLOG_ERROR,"y2.log");    int a = 256;    double b = 0.789;
    std::string c = "hello&quo
        
		

網友評論