diff --git a/src/main/cpp/client/LogInterceptor.cpp b/src/main/cpp/client/LogInterceptor.cpp
index 3f58345..88d1417 100644
--- a/src/main/cpp/client/LogInterceptor.cpp
+++ b/src/main/cpp/client/LogInterceptor.cpp
@@ -11,6 +11,25 @@
 void LogInterceptor::Intercept(grpc::experimental::InterceptorBatchMethods* methods) {
   InterceptorContinuation continuation(methods);
 
+  auto level = spdlog::default_logger()->level();
+  switch (level) {
+    case spdlog::level::trace:
+      // fall-through on purpose.
+    case spdlog::level::debug: {
+      break;
+    }
+    case spdlog::level::info:
+      // fall-through on purpose.
+    case spdlog::level::warn:
+      // fall-through on purpose.
+    case spdlog::level::err: {
+      return;
+    }
+    default: {
+      return;
+    }
+  }
+
   if (methods->QueryInterceptionHookPoint(grpc::experimental::InterceptionHookPoints::PRE_SEND_INITIAL_METADATA)) {
     std::multimap<std::string, std::string>* metadata = methods->GetSendInitialMetadata();
     if (metadata) {
diff --git a/src/main/cpp/log/LoggerImpl.cpp b/src/main/cpp/log/LoggerImpl.cpp
index 20643f8..a8140f4 100644
--- a/src/main/cpp/log/LoggerImpl.cpp
+++ b/src/main/cpp/log/LoggerImpl.cpp
@@ -1,4 +1,6 @@
 #include "LoggerImpl.h"
+#include <algorithm>
+#include <cstdint>
 #include <cstdlib>
 #include <iostream>
 
@@ -77,7 +79,30 @@
   auto default_logger =
       std::make_shared<spdlog::logger>(LOGGER_NAME, spdlog::sinks_init_list{console_sink_, file_sink_});
   default_logger->flush_on(spdlog::level::warn);
-  default_logger->set_level(spdlog::level::trace);
+  Level logger_level =
+      static_cast<Level>(std::min(static_cast<std::uint8_t>(level_), static_cast<std::uint8_t>(console_level_)));
+  switch (logger_level) {
+    case Level::Trace: {
+      default_logger->set_level(spdlog::level::trace);
+      break;
+    }
+    case Level::Debug: {
+      default_logger->set_level(spdlog::level::debug);
+      break;
+    }
+    case Level::Info: {
+      default_logger->set_level(spdlog::level::info);
+      break;
+    }
+    case Level::Warn: {
+      default_logger->set_level(spdlog::level::warn);
+      break;
+    }
+    default: {
+      default_logger->set_level(spdlog::level::info);
+      break;
+    }
+  }
   spdlog::flush_every(std::chrono::seconds(1));
   spdlog::set_default_logger(default_logger);
 }
