c++ 沒有貌似自帶的日誌類,如果僅僅使用cout輸出除錯資訊的話比較凌亂,所以我嘗試自己實現了乙個logger類,主要考慮實現以下功能:
為了方便的設定日誌等級,可以用乙個列舉類表示四種日誌等級,同理用乙個列舉類表示三種輸出目標
enum log_level;// 日誌等級
enum log_target;// 日誌輸出目標
為了更好地管理日誌,我用乙個類封裝了日誌工具,在建構函式中設定日誌等級、輸出目標、日誌檔案路徑等,並提供debug、info、warning、error四個介面
對於日誌內容還增加了一些字首,比如使用__file__巨集表示當前執行位置所在的檔案,封裝乙個currtime()函式用以記錄日誌記錄時間等
# ifndef log_sys_h
# define log_sys_h
# include # include # include # include # include # include # include "utilities.h"
using std::cout;
using std::string;
using std::endl;
using std::to_string;
using std::ios;
string currtime()
class logger;// 日誌等級
enum log_target;// 日誌輸出目標
private:
std::ofstream outfile; // 將日誌輸出到檔案的流物件
log_target target; // 日誌輸出目標
string path; // 日誌檔案路徑
log_level level; // 日誌等級
void output(string text, log_level act_level); // 輸出行為
public:
logger(); // 預設建構函式
C 實現乙個日誌類
我們可能遇到發包後,在客戶機器上出現各種未知錯誤,如果沒有日誌列印,對於問題解決是很困難的,因此常規的解決辦法就是列印日誌。在此用c 實現乙個簡單的日誌類,使用cout輸出除錯資訊,同時把日誌寫到檔案中,實現了乙個logger類,主要考慮實現以下功能 為了方便的設定日誌等級,可以用乙個列舉類表示四種...
C 實現乙個日期類
include using namespace std class date public bool is invalid date 判斷日期是否無效 return false public int day in month if is leap year return days month pub...
C 實現乙個Date類
關於日期類,我們最基本的成員變數就是三個 年 月 日。關於成員函式我們要實現構造,拷貝構造,賦值,關於日期的比較大小,以及日期加天數,日期減天數,以及 和 同時還要考慮能否復用,日期減日期,還有日期類的 和 分為前置和後置 等。具體 如下 詳情請看 注釋 date.h pragma once inc...