C 實現乙個日誌類

2021-10-08 03:23:24 字數 1857 閱讀 5988

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...