From 2db62f8296730301b2beacb49b34faddee2db589 Mon Sep 17 00:00:00 2001 From: PikachuHy Date: Wed, 19 May 2021 14:54:57 +0800 Subject: [PATCH 1/8] chore: ignore .idea --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 5255c50..5c5494c 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,4 @@ doc/ *.pro.user *.pro.user.* CMakeLists.txt.user +.idea From f12b190eac823d2c1f91805ec3795436ada1dc4a Mon Sep 17 00:00:00 2001 From: PikachuHy Date: Wed, 19 May 2021 14:55:41 +0800 Subject: [PATCH 2/8] build: Qt6 Compat --- CMakeLists.txt | 79 ++++++++++++++++++++------------------------------ 1 file changed, 32 insertions(+), 47 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 057c05d..b630745 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,56 +1,41 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.8.11) +cmake_minimum_required(VERSION 3.5) -SET(CMAKE_CXX_STANDARD 11) -SET(CMAKE_CXX_STANDARD_REQUIRED ON) - -PROJECT(CuteLogger) - -FIND_PACKAGE(Qt5Core REQUIRED) +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +project(CuteLogger LANGUAGES CXX) +find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Core5Compat REQUIRED) +find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Core5Compat REQUIRED) ADD_DEFINITIONS(-DCUTELOGGER_LIBRARY) - -INCLUDE_DIRECTORIES(BEFORE include) - -SET(sources - src/Logger.cpp - src/AbstractAppender.cpp - src/AbstractStringAppender.cpp - src/ConsoleAppender.cpp - src/FileAppender.cpp - src/RollingFileAppender.cpp -) - -SET(includes - include/Logger.h - include/FileAppender.h - include/CuteLogger_global.h - include/ConsoleAppender.h - include/AbstractStringAppender.h - include/AbstractAppender.h - include/RollingFileAppender.h -) - +add_library(CuteLogger SHARED "") +target_sources(CuteLogger PRIVATE + src/Logger.cpp + src/AbstractAppender.cpp + src/AbstractStringAppender.cpp + src/ConsoleAppender.cpp + src/FileAppender.cpp + src/RollingFileAppender.cpp + ) +target_compile_definitions(CuteLogger PRIVATE -DCUTELOGGER_LIBRARY) +target_include_directories(CuteLogger PUBLIC include) +target_link_libraries(CuteLogger PUBLIC Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Core5Compat) # OutputDebugAppender is only for Windows systems -IF(WIN32) - SET(sources ${sources} src/OutputDebugAppender.cpp) - SET(includes ${includes} include/OutputDebugAppender.h) -ENDIF(WIN32) - - -SET(library_target CuteLogger) +if(WIN32) + target_sources(CuteLogger PRIVATE + src/OutputDebugAppender.cpp + ) +endif(WIN32) -ADD_LIBRARY(${library_target} SHARED ${sources} ${includes}) -TARGET_LINK_LIBRARIES(${library_target} Qt5::Core) -TARGET_INCLUDE_DIRECTORIES(${library_target} PUBLIC include) +install(TARGETS CuteLogger DESTINATION lib) -INSTALL(TARGETS ${library_target} DESTINATION lib) - -SET(ENABLE_TESTS OFF CACHE BOOL "Enable building CuteLogger tests") +set(ENABLE_TESTS OFF CACHE BOOL "Enable building CuteLogger tests") IF (ENABLE_TESTS) - SET(CMAKE_AUTOMOC ON) - FIND_PACKAGE(Qt5Test REQUIRED) - - ADD_EXECUTABLE(basictest test/basictest.cpp) - TARGET_LINK_LIBRARIES(basictest Qt5::Core Qt5::Test CuteLogger) + enable_testing() + find_package(QT NAMES Qt6 Qt5 COMPONENTS Test REQUIRED) + find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Test REQUIRED) + add_executable(basictest test/basictest.cpp) + add_test(basictest basictest) + set_target_properties(basictest PROPERTIES AUTOMOC ON) + target_link_libraries(basictest Qt${QT_VERSION_MAJOR}::Test CuteLogger) ENDIF () From fbccb5c1f43f16e853cb9210ef9d6de38e08ea0c Mon Sep 17 00:00:00 2001 From: PikachuHy Date: Wed, 19 May 2021 14:57:50 +0800 Subject: [PATCH 3/8] fix error C2039: 'fromList': is not a member of 'QSet' --- src/Logger.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Logger.cpp b/src/Logger.cpp index 16a18db..3cb6e55 100644 --- a/src/Logger.cpp +++ b/src/Logger.cpp @@ -600,8 +600,8 @@ Logger::~Logger() // Cleanup appenders QMutexLocker appendersLocker(&d->loggerMutex); - QSet deleteList(QSet::fromList(d->appenders)); - deleteList.unite(QSet::fromList(d->categoryAppenders.values())); + QSet deleteList(d->appenders.begin(), d->appenders.end()); + deleteList.unite(QSet(d->categoryAppenders.values().begin(), d->categoryAppenders.values().end())); qDeleteAll(deleteList); appendersLocker.unlock(); From 85b6a266993e89227c97e9ea3c342a231f8b1d93 Mon Sep 17 00:00:00 2001 From: PikachuHy Date: Wed, 19 May 2021 15:00:19 +0800 Subject: [PATCH 4/8] fix error C2039: 'vsprintf': is not a member of 'QString' --- src/Logger.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Logger.cpp b/src/Logger.cpp index 3cb6e55..a0d3e13 100644 --- a/src/Logger.cpp +++ b/src/Logger.cpp @@ -1032,7 +1032,7 @@ void LoggerTimingHelper::start(const char* msg, ...) { va_list va; va_start(va, msg); - m_block = QString().vsprintf(msg, va); + m_block = QString::vasprintf(msg, va); va_end(va); m_time.start(); From 258d4967f05cf6e078cb089d2323b300c7e5c491 Mon Sep 17 00:00:00 2001 From: PikachuHy Date: Wed, 19 May 2021 15:01:44 +0800 Subject: [PATCH 5/8] fix error C2664: 'QString QString::section(QChar,qsizetype,qsizetype,QString::SectionFlags) const': cannot convert argument 1 from 'QRegExp' to 'QChar' --- src/AbstractStringAppender.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/AbstractStringAppender.cpp b/src/AbstractStringAppender.cpp index ce64aae..6104018 100644 --- a/src/AbstractStringAppender.cpp +++ b/src/AbstractStringAppender.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -405,7 +406,7 @@ QString AbstractStringAppender::formattedString(const QDateTime& timeStamp, Logg // Filename without a path else if (command == QLatin1String("file")) - chunk = QString(QLatin1String(file)).section(QRegExp("[/\\\\]"), -1); + chunk = QString(QLatin1String(file)).section(QRegularExpression("[/\\\\]"), -1); // Source line number else if (command == QLatin1String("line")) From 18564f69079ef4c3bce2d9d597a304fed8db86f9 Mon Sep 17 00:00:00 2001 From: PikachuHy Date: Wed, 19 May 2021 15:02:56 +0800 Subject: [PATCH 6/8] fix error C2039: 'start': is not a member of 'QTime' --- include/Logger.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/Logger.h b/include/Logger.h index 509bc5f..6d1d4dc 100644 --- a/include/Logger.h +++ b/include/Logger.h @@ -18,6 +18,7 @@ #include #include #include +#include // Local #include "CuteLogger_global.h" From f256cc3af6682fe65ae75bf1f80d04c89f7edecf Mon Sep 17 00:00:00 2001 From: PikachuHy Date: Wed, 19 May 2021 15:03:16 +0800 Subject: [PATCH 7/8] fix error C2039: 'start': is not a member of 'QTime' --- include/Logger.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/Logger.h b/include/Logger.h index 6d1d4dc..941e556 100644 --- a/include/Logger.h +++ b/include/Logger.h @@ -225,7 +225,7 @@ class CUTELOGGERSHARED_EXPORT LoggerTimingHelper private: Logger* m_logger; - QTime m_time; + QElapsedTimer m_time; Logger::LogLevel m_logLevel; Logger::TimingMode m_timingMode; const char* m_file; From ecfad62bf3427671296b822e903dbf289a2e16af Mon Sep 17 00:00:00 2001 From: PikachuHy Date: Wed, 19 May 2021 15:03:47 +0800 Subject: [PATCH 8/8] fix error C2039: 'fromTime_t': is not a member of 'QDateTime' --- src/RollingFileAppender.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/RollingFileAppender.cpp b/src/RollingFileAppender.cpp index 267744f..b3bbde3 100644 --- a/src/RollingFileAppender.cpp +++ b/src/RollingFileAppender.cpp @@ -200,7 +200,7 @@ void RollingFileAppender::computeRollOverTime() break; default: Q_ASSERT_X(false, "DailyRollingFileAppender::computeInterval()", "Invalid datePattern constant"); - m_rollOverTime = QDateTime::fromTime_t(0); + m_rollOverTime = QDateTime::fromSecsSinceEpoch(0); } m_rollOverSuffix = start.toString(m_datePatternString);