利用C++時(shí)間戳實(shí)現(xiàn)日志記錄功能

c++
小樊
83
2024-08-19 20:40:34
欄目: 編程語言

在C++中,可以使用time庫(kù)來獲取當(dāng)前時(shí)間戳,并將時(shí)間戳轉(zhuǎn)換成可讀的日期時(shí)間格式,然后將日志記錄到文件中。以下是一個(gè)簡(jiǎn)單的示例代碼:

#include <iostream>
#include <fstream>
#include <ctime>
#include <iomanip>

void log(const std::string& message) {
    std::ofstream file("log.txt", std::ios_base::app);
    if (file.is_open()) {
        std::time_t now = std::time(nullptr);
        char timestamp[100];
        std::strftime(timestamp, sizeof(timestamp), "%Y-%m-%d %H:%M:%S", std::localtime(&now));
        
        file << "[" << timestamp << "] " << message << std::endl;
        file.close();
    } else {
        std::cerr << "Error opening log file" << std::endl;
    }
}

int main() {
    log("Log message 1");
    log("Log message 2");
    
    return 0;
}

這段代碼定義了一個(gè)log函數(shù),它將傳入的消息與當(dāng)前時(shí)間戳一起寫入到log.txt文件中。在main函數(shù)中,我們可以調(diào)用log函數(shù)來記錄日志消息。每次調(diào)用log函數(shù)時(shí),會(huì)追加一條日志消息到文件中,格式為[YYYY-MM-DD HH:MM:SS] message

請(qǐng)注意,在實(shí)際應(yīng)用中可能需要添加一些錯(cuò)誤處理和日志級(jí)別等功能來提高日志記錄的靈活性和可用性。

0