From 12a0c3c752494bc34286af91e4639f613fe5088c Mon Sep 17 00:00:00 2001 From: Tijmen van Nesselrooij Date: Wed, 14 Sep 2022 20:00:25 +0200 Subject: [PATCH] Add proper error logging to solar-logger --- src/solar-logger/database.cpp | 15 +++++++++++++-- src/solar-logger/main.cpp | 8 ++------ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/solar-logger/database.cpp b/src/solar-logger/database.cpp index 28b9faf..115d9de 100644 --- a/src/solar-logger/database.cpp +++ b/src/solar-logger/database.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #include @@ -42,12 +43,22 @@ bool Database::Insert(ZeverRow & row) std::stringstream transaction; transaction << "BEGIN TRANSACTION;" << ToSqlInsertStatement(row) << ToSqlUpsertStatement(row) << "COMMIT;"; - return sqlite3_exec(connectionPtr, transaction.str().c_str(), nullptr, nullptr, nullptr); + if(sqlite3_exec(connectionPtr, transaction.str().c_str(), nullptr, nullptr, nullptr) != SQLITE_OK) + { + spdlog::error("Failed to insert Zeverlution record into SQLite database: {}", sqlite3_errmsg(connectionPtr)); + return false; + } + return true; } bool Database::Insert(EnvoyRow & row) { - return sqlite3_exec(connectionPtr, ToSqlInsertStatement(row).c_str(), nullptr, nullptr, nullptr); + if(sqlite3_exec(connectionPtr, ToSqlInsertStatement(row).c_str(), nullptr, nullptr, nullptr) != SQLITE_OK) + { + spdlog::error("Failed to insert Envoy record into SQLite database: {}", sqlite3_errmsg(connectionPtr)); + return false; + } + return true; } Database::Database(std::string const & databasePath) : connectionPtr(nullptr) diff --git a/src/solar-logger/main.cpp b/src/solar-logger/main.cpp index 5c20148..8a044c4 100644 --- a/src/solar-logger/main.cpp +++ b/src/solar-logger/main.cpp @@ -127,10 +127,8 @@ int main(int argc, char ** argv) .kilowattPerHour = zeverData->kilowattPerHour, }; - auto const insertionResult = db.Insert(row); - if(insertionResult) + if(!db.Insert(row)) { - spdlog::error("Error {} during insertion of new value into database", insertionResult); return -1; } } @@ -156,10 +154,8 @@ int main(int argc, char ** argv) .inverterTime = parsed->readingTime, }; - auto const insertionResult = db.Insert(row); - if(insertionResult) + if(!db.Insert(row)) { - spdlog::error("Error {} during insertion of new value into database", insertionResult); return -1; } }