C++实现一个简单的日志类
#include <fstream>
#include <string>
#include <sstream>
#include <ctime>
#include <iostream>
using namespace std;
class Logger {
private:
std::ofstream fileStream; // 日志文件流
public:
Logger(const std::string& filename) : fileStream(filename, std::ios::app) { // 构造函数,打开日志文件
}
void log(const std::string& message) { // 记录日志
std::time_t currentTime = std::time(nullptr); // 获取当前时间
char timestamp[20];
std::strftime(timestamp, sizeof(timestamp), "[%Y-%m-%d %H:%M:%S]", std::localtime(¤tTime)); // 格式化时间戳
fileStream << timestamp << " " << message << std::endl; // 写入日志文件
}
~Logger() { // 析构函数,关闭日志文件
if (fileStream.is_open()) {
fileStream.close();
}
}
};
int main(){
Logger logger = ("example.log");
logger.log("test log message");
return 0;
}
curie.