Цель моего кода - записать журнал в формате json с отметкой времени эпохи.
Я ожидаю, что мой код записи журнала, как показано ниже.
{234231412:{"user":"alex", "device":"HD-3432", "action":"connectin to server}}
Вот мой код, который не удалось собрать.
void writeLog(const QJsonObject &jsonLog) {
qint64 timestamp = QDateTime::currentSecsSinceEpoch();
QString strTimestamp = QString::number(timestamp);
QJsonObject jsonObj[strTimestamp] = jsonLog;
QJsonDocument log(jsonObj);
static QFile f(FireRest::logFile);
if (!f.isOpen()) {
f.open(QIODevice::WriteOnly | QIODevice::Append);
}
static QTextStream ts(&f);
QString t;
t.sprintf("%s\n", log.toString());
ts << t << endl;
QString fpo(logFile + QString(".old"));
if (f.size() > MAX_LOG_FILE_SIZE) {
f.close();
QFile::remove(fpo);
QFile::rename(logFile, fpo);
}
}
QJsonObject jsonObj[strTimestamp] = jsonLog;
делает размер массива нецелым типом 'QString'
QJsonDocument log(jsonObj);
делает переменная неполного типа 'QJsonDocument'
Как я могу это исправить?