diff --git a/debian/changelog b/debian/changelog index 09bfb25..e683f6a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +ukui-interface (1.0.1-8) v101; urgency=medium + + * BUG号:无 + * 需求号:无 + * 其他改动说明:1、优化当前日志文件超过限制大小时清空逻辑; + 2、修复fork子进程后,子进程日志无法输出问题; + 3、修改日志文件目录为~/.log/ + + -- Yang Min Mon, 24 May 2021 20:59:37 +0800 + ukui-interface (1.0.1-7) v101; urgency=medium * BUG号:无 diff --git a/src/log4qt/log4qt/writerappender.cpp b/src/log4qt/log4qt/writerappender.cpp index b434dc4..a2e2f94 100644 --- a/src/log4qt/log4qt/writerappender.cpp +++ b/src/log4qt/log4qt/writerappender.cpp @@ -35,11 +35,12 @@ #include #include #include +#include #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)); diff --git a/src/log4qt/ukui-logconfigurator.cpp b/src/log4qt/ukui-logconfigurator.cpp index 624ab14..a7a0f5b 100644 --- a/src/log4qt/ukui-logconfigurator.cpp +++ b/src/log4qt/ukui-logconfigurator.cpp @@ -27,10 +27,12 @@ #include #include +#include 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() diff --git a/src/log4qt/ukui-logmacros.h b/src/log4qt/ukui-logmacros.h index 65a4a76..b637ac9 100644 --- a/src/log4qt/ukui-logmacros.h +++ b/src/log4qt/ukui-logmacros.h @@ -28,7 +28,7 @@ #endif // 日志文件相对home目录路径 -#define UKUILOG4QT_ROOTPATH "/.config/ukui/" +#define UKUILOG4QT_ROOTPATH "/.log/" // gsettings相关相关属性 #define UKUILOG4QT_SETTINGS "org.ukui.ukui-log4qt" diff --git a/src/log4qt/ukui-logrolling.cpp b/src/log4qt/ukui-logrolling.cpp index b31c6b3..35ba744 100644 --- a/src/log4qt/ukui-logrolling.cpp +++ b/src/log4qt/ukui-logrolling.cpp @@ -23,6 +23,7 @@ #include #include #include +#include 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()<<"清空文件内容:"< %1").arg(filePath)); + process.waitForFinished(100); } } } \ No newline at end of file