From 56b6e45fc9e38e507b5b84fe1bfdbf099ed3107d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Atgeirr=20Fl=C3=B8=20Rasmussen?= Date: Mon, 9 May 2016 11:33:35 +0200 Subject: [PATCH] Add clearBackends() method to Logger and OpmLog singleton. --- opm/common/OpmLog/Logger.cpp | 5 +++++ opm/common/OpmLog/Logger.hpp | 1 + opm/common/OpmLog/OpmLog.cpp | 7 +++++++ opm/common/OpmLog/OpmLog.hpp | 1 + 4 files changed, 14 insertions(+) diff --git a/opm/common/OpmLog/Logger.cpp b/opm/common/OpmLog/Logger.cpp index e0ec4ee33..a0365c81b 100644 --- a/opm/common/OpmLog/Logger.cpp +++ b/opm/common/OpmLog/Logger.cpp @@ -63,6 +63,11 @@ namespace Opm { return true; } + void Logger::clearBackends() { + m_backends.clear(); + m_globalMask = 0; + } + bool Logger::removeBackend(const std::string& name) { size_t eraseCount = m_backends.erase( name ); if (eraseCount == 1) diff --git a/opm/common/OpmLog/Logger.hpp b/opm/common/OpmLog/Logger.hpp index 3acd7b64d..6bf9fd75f 100644 --- a/opm/common/OpmLog/Logger.hpp +++ b/opm/common/OpmLog/Logger.hpp @@ -44,6 +44,7 @@ public: void addBackend(const std::string& name , std::shared_ptr backend); bool hasBackend(const std::string& name); bool removeBackend(const std::string& name); + void clearBackends(); template std::shared_ptr getBackend(const std::string& name) const { diff --git a/opm/common/OpmLog/OpmLog.cpp b/opm/common/OpmLog/OpmLog.cpp index 2fc360b46..735124708 100644 --- a/opm/common/OpmLog/OpmLog.cpp +++ b/opm/common/OpmLog/OpmLog.cpp @@ -96,6 +96,13 @@ namespace Opm { } + void OpmLog::clearBackends() { + if (m_logger) { + m_logger->clearBackends(); + } + } + + void OpmLog::addMessageType( int64_t messageType , const std::string& prefix) { auto logger = OpmLog::getLogger(); logger->addMessageType( messageType , prefix ); diff --git a/opm/common/OpmLog/OpmLog.hpp b/opm/common/OpmLog/OpmLog.hpp index d659b1948..50d84d59a 100644 --- a/opm/common/OpmLog/OpmLog.hpp +++ b/opm/common/OpmLog/OpmLog.hpp @@ -50,6 +50,7 @@ public: static bool hasBackend( const std::string& backendName ); static void addBackend(const std::string& name , std::shared_ptr backend); static bool removeBackend(const std::string& name); + static void clearBackends(); static bool enabledMessageType( int64_t messageType ); static void addMessageType( int64_t messageType , const std::string& prefix);