实现一个日志打印函数
时间: 2024-02-25 10:53:57 浏览: 25
好的,我可以为您提供一个简单的日志打印函数的实现,示例如下:
```c++
#include <iostream>
#include <fstream>
#include <ctime>
void log(const std::string& message, const std::string& log_file_path)
{
std::ofstream log_file(log_file_path, std::ios_base::app);
if (log_file.is_open())
{
std::time_t current_time = std::time(nullptr);
std::tm* time_info = std::localtime(¤t_time);
char time_str[20];
std::strftime(time_str, sizeof(time_str), "%Y-%m-%d %H:%M:%S", time_info);
log_file << "[" << time_str << "] " << message << std::endl;
log_file.close();
}
else
{
std::cerr << "Failed to open log file: " << log_file_path << std::endl;
}
}
```
该函数接受两个参数,一个是要记录的日志信息,另一个是日志文件的路径。它会将日志信息和当前时间戳写入日志文件中,如果打开文件失败则会输出错误信息到标准错误流。
使用时只需要调用 `log` 函数即可,例如:
```c++
log("This is a log message.", "log.txt");
```
这将会在 `log.txt` 文件中记录一条日志信息。