You've already forked ukui-interface
mirror of
https://github.com/ukui/ukui-interface.git
synced 2026-03-09 09:27:01 -07:00
优化功能:优化当前日志文件超过限制大小时清空逻辑;修复bug:修复fork子进程后,子进程日志无法输出问题;修改功能:修改日志文件目录为~/.log/
This commit is contained in:
Vendored
+10
@@ -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号:无
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
#endif
|
||||
|
||||
// 日志文件相对home目录路径
|
||||
#define UKUILOG4QT_ROOTPATH "/.config/ukui/"
|
||||
#define UKUILOG4QT_ROOTPATH "/.log/"
|
||||
|
||||
// gsettings相关相关属性
|
||||
#define UKUILOG4QT_SETTINGS "org.ukui.ukui-log4qt"
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user