优化功能:优化当前日志文件超过限制大小时清空逻辑;修复bug:修复fork子进程后,子进程日志无法输出问题;修改功能:修改日志文件目录为~/.log/

This commit is contained in:
winnerym100
2021-05-24 21:06:48 +08:00
parent 2a0ca1f934
commit f4f5a84fc7
5 changed files with 23 additions and 3 deletions
+10
View File
@@ -1,3 +1,13 @@
ukui-interface (1.0.1-8) v101; urgency=medium
* BUG号:无
* 需求号:无
* 其他改动说明:1、优化当前日志文件超过限制大小时清空逻辑;
2、修复fork子进程后,子进程日志无法输出问题;
3、修改日志文件目录为~/.log/
-- Yang Min <yangmin@kylinos.cn> Mon, 24 May 2021 20:59:37 +0800
ukui-interface (1.0.1-7) v101; urgency=medium
* BUG号:无
+3 -2
View File
@@ -35,11 +35,12 @@
#include <QtCore/QTextCodec>
#include <QtCore/QThread>
#include <QtCore/QCoreApplication>
#include <unistd.h>
#include "log4qt/layout.h"
#include "log4qt/loggingevent.h"
#include "log4qt/helpers/asyncdispatcher.h"
extern pid_t g_MainProcPid;
namespace Log4Qt
{
@@ -218,7 +219,7 @@ namespace Log4Qt
return;
}
#else
if (qApp) {
if (qApp && g_MainProcPid == getpid()) {
if (mThread && !mThread->isRunning())
mThread->start();
qApp->postEvent(mAsyncDispatcher, new LoggingEvent(rEvent));
+3
View File
@@ -27,10 +27,12 @@
#include <QDebug>
#include <QStandardPaths>
#include <unistd.h>
LOG4QT_GLOBAL_STATIC(QMutex, single_config)
UkuiLog4qtConfig *UkuiLog4qtConfig::mInstance = nullptr;
pid_t g_MainProcPid = -1;
UkuiLog4qtConfig::UkuiLog4qtConfig(QObject *parent) :
QObject(parent),
@@ -43,6 +45,7 @@ UkuiLog4qtConfig::UkuiLog4qtConfig(QObject *parent) :
m_uMaxFileCount = 0;
m_uMaxFileSize = 0;
m_timeCheckFile = 60;
g_MainProcPid = getpid();
}
UkuiLog4qtConfig::~UkuiLog4qtConfig()
+1 -1
View File
@@ -28,7 +28,7 @@
#endif
// 日志文件相对home目录路径
#define UKUILOG4QT_ROOTPATH "/.config/ukui/"
#define UKUILOG4QT_ROOTPATH "/.log/"
// gsettings相关相关属性
#define UKUILOG4QT_SETTINGS "org.ukui.ukui-log4qt"
+6
View File
@@ -23,6 +23,7 @@
#include <QFile>
#include <QFileInfo>
#include <QStringList>
#include <QProcess>
UkuiLog4qtRolling::UkuiLog4qtRolling(QString strBaseFilePath, unsigned uMaxFileCount, quint64 uMaxFileSize,
quint64 delayCheckFileTime, QObject *parent) :
@@ -170,6 +171,11 @@ void UkuiLog4qtRolling::checkLogFilesSize()
QFile file(filePath);
file.remove(); // 删除文件
willRmFileSize -= fileInfoList[i].size();
} else { // 清空文件内容
//KyDebug()<<"清空文件内容:"<<filePath;
QProcess process;
process.start("sh", QStringList()<<"-c"<<QString("> %1").arg(filePath));
process.waitForFinished(100);
}
}
}