You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by mk...@apache.org on 2020/08/18 07:38:17 UTC
[geode-native] branch develop updated: GEODE-8364: Change log level
at runtime (#629)
This is an automated email from the ASF dual-hosted git repository.
mkevo pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode-native.git
The following commit(s) were added to refs/heads/develop by this push:
new 932a64f GEODE-8364: Change log level at runtime (#629)
932a64f is described below
commit 932a64fd019b4049b910424249598e76c5f7c742
Author: Alberto Bustamante Reyes <al...@users.noreply.github.com>
AuthorDate: Tue Aug 18 09:38:09 2020 +0200
GEODE-8364: Change log level at runtime (#629)
* GEODE-8364: Change log level at runtime
* Change log level in system properties
---
cppcache/include/geode/Cache.hpp | 13 +++++++++++++
cppcache/include/geode/SystemProperties.hpp | 5 +++++
cppcache/src/Cache.cpp | 7 +++++++
cppcache/test/CacheTest.cpp | 8 ++++++++
4 files changed, 33 insertions(+)
diff --git a/cppcache/include/geode/Cache.hpp b/cppcache/include/geode/Cache.hpp
index dd6399c..5ffdc45 100644
--- a/cppcache/include/geode/Cache.hpp
+++ b/cppcache/include/geode/Cache.hpp
@@ -22,6 +22,8 @@
#include <string>
+#include <geode/util/LogLevel.hpp>
+
#include "GeodeCache.hpp"
#include "internal/geode_globals.hpp"
@@ -239,6 +241,17 @@ class APACHE_GEODE_EXPORT Cache : public GeodeCache {
SystemProperties& getSystemProperties() const override;
+ /**
+ * Changes the current log level to newLogLevel.
+ */
+ void setLogLevel(LogLevel newLevel);
+
+ /**
+ * Returns the current log level.
+ * @return the current log level.
+ */
+ LogLevel getLogLevel();
+
Cache() = delete;
virtual ~Cache();
Cache(const Cache& other) = delete;
diff --git a/cppcache/include/geode/SystemProperties.hpp b/cppcache/include/geode/SystemProperties.hpp
index b116122..a2f9c35 100644
--- a/cppcache/include/geode/SystemProperties.hpp
+++ b/cppcache/include/geode/SystemProperties.hpp
@@ -127,6 +127,11 @@ class APACHE_GEODE_EXPORT SystemProperties {
LogLevel logLevel() const { return m_logLevel; }
/**
+ * Changes the current log level to newLogLevel.
+ */
+ void setLogLevel(LogLevel newLogLevel) { m_logLevel = newLogLevel; }
+
+ /**
* Returns a boolean that specifies if heapLRULimit has been enabled for the
* process. If enabled, the HeapLRULimit specifies the maximum amount of
* memory
diff --git a/cppcache/src/Cache.cpp b/cppcache/src/Cache.cpp
index 512c8fe..c3bba33 100644
--- a/cppcache/src/Cache.cpp
+++ b/cppcache/src/Cache.cpp
@@ -144,6 +144,13 @@ bool Cache::getPdxReadSerialized() const {
return m_cacheImpl->getPdxReadSerialized();
}
+void Cache::setLogLevel(LogLevel newLevel) {
+ Log::setLogLevel(newLevel);
+ this->getSystemProperties().setLogLevel(newLevel);
+}
+
+LogLevel Cache::getLogLevel() { return Log::logLevel(); }
+
PdxInstanceFactory Cache::createPdxInstanceFactory(
const std::string& className) const {
return m_cacheImpl->createPdxInstanceFactory(className);
diff --git a/cppcache/test/CacheTest.cpp b/cppcache/test/CacheTest.cpp
index 7b51843..bd1fa8e 100644
--- a/cppcache/test/CacheTest.cpp
+++ b/cppcache/test/CacheTest.cpp
@@ -25,6 +25,7 @@
using apache::geode::client::CacheClosedException;
using apache::geode::client::CacheFactory;
+using apache::geode::client::LogLevel;
using apache::geode::client::RegionShortcut;
/**
@@ -61,3 +62,10 @@ TEST(CacheTest, close) {
EXPECT_THROW(cache.readyForEvents(), CacheClosedException);
EXPECT_THROW(cache.rootRegions(), CacheClosedException);
}
+
+TEST(CacheTest, changeLogLevel) {
+ auto cache = CacheFactory{}.set("log-level", "info").create();
+ ASSERT_EQ(cache.getLogLevel(), LogLevel::Info);
+ cache.setLogLevel(LogLevel::Debug);
+ ASSERT_EQ(cache.getLogLevel(), LogLevel::Debug);
+}