C++利用QFile做一个日志系统,可以定期删除日志,详细点
时间: 2023-05-15 19:07:00 浏览: 82
好的,可以的。您可以使用QFile类来创建一个日志文件,然后使用QTextStream类来写入日志信息。您可以使用QTimer类来定期删除日志文件。以下是一个简单的示例代码:
```cpp
#include <QFile>
#include <QTextStream>
#include <QDateTime>
#include <QTimer>
void writeLog(const QString& message)
{
QFile file("log.txt");
if (file.open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Text))
{
QTextStream out(&file);
out << QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss.zzz") << " " << message << "\n";
file.close();
}
}
void deleteLog()
{
QFile::remove("log.txt");
}
int main(int argc, char *argv[])
{
// 创建定时器,每天凌晨1点删除日志文件
QTimer timer;
timer.setInterval(24 * 60 * 60 * 1000); // 24小时
timer.setSingleShot(false);
timer.start(QDateTime::currentDateTime().time().msecsTo(QTime(1, 0, 0, 0)));
QObject::connect(&timer, &QTimer::timeout, &deleteLog);
// 写入日志
writeLog("Hello, World!");
return 0;
}
```
这个示例代码会在当前目录下创建一个名为"log.txt"的日志文件,每次调用writeLog函数时会在文件末尾添加一行日志信息,格式为"时间 消息",例如"2021-10-01 12:34:56.789 Hello, World!"。同时,它会创建一个定时器,每天凌晨1点删除日志文件。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)