From 9d2a1691e8088716e2c4db675db3340a61ad0b5b Mon Sep 17 00:00:00 2001
From: Riccardo Maria Bianchi <riccardo.maria.bianchi@cern.ch>
Date: Thu, 6 May 2021 17:28:25 +0200
Subject: [PATCH] Add logLevel to GMDBManager constr., to farther silence for
 production

---
 .../GeoModelDBManager/GMDBManager.h                |  2 +-
 GeoModelIO/GeoModelDBManager/src/GMDBManager.cpp   | 14 +++++++++-----
 .../GeoModelWrite/GeoModelWrite/WriteGeoModel.h    |  2 +-
 GeoModelIO/GeoModelWrite/src/WriteGeoModel.cpp     |  2 +-
 4 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/GeoModelIO/GeoModelDBManager/GeoModelDBManager/GMDBManager.h b/GeoModelIO/GeoModelDBManager/GeoModelDBManager/GMDBManager.h
index 2f0ababa0..3ca5a630c 100644
--- a/GeoModelIO/GeoModelDBManager/GeoModelDBManager/GMDBManager.h
+++ b/GeoModelIO/GeoModelDBManager/GeoModelDBManager/GMDBManager.h
@@ -32,7 +32,7 @@ public:
 	 * Constructor sets up connection with db and opens it
 	 * @param path - absolute path to db file
 	 */
-  GMDBManager(const std::string &path);
+  GMDBManager(const std::string &path, unsigned logLevel = 1);
 //  GMDBManagerStd(const std::string &path);
 
 	/**
diff --git a/GeoModelIO/GeoModelDBManager/src/GMDBManager.cpp b/GeoModelIO/GeoModelDBManager/src/GMDBManager.cpp
index 6d2368710..0d53ff449 100644
--- a/GeoModelIO/GeoModelDBManager/src/GMDBManager.cpp
+++ b/GeoModelIO/GeoModelDBManager/src/GMDBManager.cpp
@@ -87,17 +87,21 @@ public:
 
 };
 
-GMDBManager::GMDBManager(const std::string &path) : m_dbpath(path), m_dbIsOK(false), m_debug(false), m_d(new Imp(this))
+GMDBManager::GMDBManager(const std::string &path, unsigned logLevel /*defaulted to: '1' */) : m_dbpath(path), m_dbIsOK(false), m_debug(false), m_d(new Imp(this))
 {
   // Check if the user asked for running in serial or multi-threading mode
   if ( "" != getEnvVar("GEOMODEL_ENV_IO_DBMANAGER_DEBUG")) {
     m_debug = true;
     std::cout << "You defined the GEOMODEL_IO_DEBUG variable, so you will see a verbose output." << std::endl;
   }
-  
-  // set default logLevel
-  m_logLevel = 1; // 0: silenced/production - 1: info - 2: verbose - 3: debug
-  
+
+  if ( logLevel != 1 ) {
+      m_logLevel = logLevel;
+  } else {
+      // set default logLevel
+      m_logLevel = 1; // 0: silenced/production - 1: info - 2: verbose - 3: debug
+  }
+
   m_dbIsOK = false;
 
   // FIXME: TODO: we should check the existence of the file, otherwise SQLite will create a new file from scratch
diff --git a/GeoModelIO/GeoModelWrite/GeoModelWrite/WriteGeoModel.h b/GeoModelIO/GeoModelWrite/GeoModelWrite/WriteGeoModel.h
index eea2ad976..d15407a36 100644
--- a/GeoModelIO/GeoModelWrite/GeoModelWrite/WriteGeoModel.h
+++ b/GeoModelIO/GeoModelWrite/GeoModelWrite/WriteGeoModel.h
@@ -78,7 +78,7 @@ public:
 	void saveToDB(GeoPublisher* store = nullptr);
     void saveToDB( std::vector<GeoPublisher*>& vecStores);
 
-    void setLogLevel(const unsigned int level) {m_logLevel = level; m_dbManager->setLogLevel(m_logLevel);}
+    void setLogLevel(const unsigned int level) {m_logLevel = level;}
 
 private:
 
diff --git a/GeoModelIO/GeoModelWrite/src/WriteGeoModel.cpp b/GeoModelIO/GeoModelWrite/src/WriteGeoModel.cpp
index 937b1cd65..506f5f565 100644
--- a/GeoModelIO/GeoModelWrite/src/WriteGeoModel.cpp
+++ b/GeoModelIO/GeoModelWrite/src/WriteGeoModel.cpp
@@ -1126,7 +1126,7 @@ WriteGeoModel::WriteGeoModel(GMDBManager &db)
 	m_memMap_Tables = m_dbManager->getAll_NodeTypesTableIDs();
 
     // set default logLevel
-    m_logLevel = 0;
+    m_logLevel = 1;
 }
 
 WriteGeoModel::~WriteGeoModel()
-- 
GitLab