From bcf1bed1d0fd9d1d788940a07d7bd4edd4e4f1ac Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sun, 18 Oct 2015 23:26:52 +0200 Subject: [PATCH] Improved log level when DB reading fails (Mapping between severity and read status flags) --- src/blackcore/webdataservices.cpp | 9 +++++- src/blackmisc/network/entityflags.cpp | 42 ++++++++++++++++++--------- src/blackmisc/network/entityflags.h | 7 +++++ 3 files changed, 43 insertions(+), 15 deletions(-) diff --git a/src/blackcore/webdataservices.cpp b/src/blackcore/webdataservices.cpp index c276ff1f8..6e8740b34 100644 --- a/src/blackcore/webdataservices.cpp +++ b/src/blackcore/webdataservices.cpp @@ -466,7 +466,14 @@ namespace BlackCore void CWebDataServices::ps_readFromSwiftDb(CEntityFlags::Entity entity, CEntityFlags::ReadState state, int number) { - CLogMessage(this).info("Read data %1 entries: %2 state: %3") << CEntityFlags::flagToString(entity) << number << CEntityFlags::flagToString(state); + if (CEntityFlags::isWarningOrAbove(state)) + { + CLogMessage(this).warning("Read data %1 entries: %2 state: %3") << CEntityFlags::flagToString(entity) << number << CEntityFlags::flagToString(state); + } + else + { + CLogMessage(this).info("Read data %1 entries: %2 state: %3") << CEntityFlags::flagToString(entity) << number << CEntityFlags::flagToString(state); + } } void CWebDataServices::readAllInBackground(int delayMs) diff --git a/src/blackmisc/network/entityflags.cpp b/src/blackmisc/network/entityflags.cpp index 4c05161b7..f11a2bbac 100644 --- a/src/blackmisc/network/entityflags.cpp +++ b/src/blackmisc/network/entityflags.cpp @@ -66,24 +66,38 @@ namespace BlackMisc } } + CStatusMessage::StatusSeverity CEntityFlags::flagToSeverity(CEntityFlags::ReadState state) + { + switch (state) + { + case ReadFinished: + case StartRead: + default: + return CStatusMessage::SeverityInfo; + case ReadFailed: + return CStatusMessage::SeverityWarning; + } + } + + bool CEntityFlags::isWarningOrAbove(CEntityFlags::ReadState state) + { + CStatusMessage::StatusSeverity s = flagToSeverity(state); + switch (s) { + case CStatusMessage::SeverityError: + case CStatusMessage::SeverityWarning: + return true; + default: + return false; + } + } + void CEntityFlags::registerMetadata() { // this is no value class and I register enums here, // that's why I do not use the Mixins - int id = qRegisterMetaType(); - // int idb = qDBusRegisterMetaType(); - // Q_ASSERT_X(id >= 1024 && id == idb, Q_FUNC_INFO, "wrong id for metatype"); - Q_ASSERT_X(id >= 1024, Q_FUNC_INFO, "wrong id for metatype"); - - id = qRegisterMetaType(); - // idb = qDBusRegisterMetaType(); - Q_ASSERT_X(id >= 1024, Q_FUNC_INFO, "wrong id for metatype"); - - id = qRegisterMetaType(); - // idb = qDBusRegisterMetaType(); - Q_ASSERT_X(id >= 1024, Q_FUNC_INFO, "wrong id for metatype"); - Q_UNUSED(id); - // Q_UNUSED(idb); + qRegisterMetaType(); + qRegisterMetaType(); + qRegisterMetaType(); } } // namespace } // namespace diff --git a/src/blackmisc/network/entityflags.h b/src/blackmisc/network/entityflags.h index 9a0c197e0..f7d014e91 100644 --- a/src/blackmisc/network/entityflags.h +++ b/src/blackmisc/network/entityflags.h @@ -13,6 +13,7 @@ #define BLACKMISC_NETWORK_ENTITRFLAGS_H #include "blackmisc/blackmiscexport.h" +#include "blackmisc/statusmessage.h" #include namespace BlackMisc @@ -62,6 +63,12 @@ namespace BlackMisc //! Convert to string static QString flagToString(ReadState flag); + //! Flag to severity + static BlackMisc::CStatusMessage::StatusSeverity flagToSeverity(ReadState state); + + //! Read state representing warning or above? + static bool isWarningOrAbove(ReadState state); + //! Register metadata static void registerMetadata(); };