1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: GPL-3.0-or-later
#include "eventlogutils.h"
#include <QLibrary>
#include <QDir>
#include <QLibraryInfo>
#include <QJsonDocument>
#include <QThread>
Eventlogutils *Eventlogutils::m_pInstance = nullptr;
Eventlogutils *Eventlogutils::GetInstance()
{
if (m_pInstance == nullptr) {
m_pInstance = new Eventlogutils();
}
return m_pInstance;
}
void Eventlogutils::writeLogs(QJsonObject &data)
{
if (!writeEventLogFunc)
return;
writeEventLogFunc(QJsonDocument(data).toJson(QJsonDocument::Compact).toStdString());
}
Eventlogutils::Eventlogutils()
{
QLibrary library("libdeepin-event-log.so");
initFunc = reinterpret_cast<bool (*)(const std::string &, bool)>(library.resolve("Initialize"));
writeEventLogFunc = reinterpret_cast<void (*)(const std::string &)>(library.resolve("WriteEventLog"));
if (!initFunc)
return;
initFunc("deepin-log-viewer", true);
}
|