diff --git a/src/utils/misc.py b/src/utils/misc.py
index fbcedf6594ce46ea97ec410663e80f5f54dd781d..7b194b573fe42a03572f76476b9a3119b5e9d327 100644
--- a/src/utils/misc.py
+++ b/src/utils/misc.py
@@ -9,6 +9,13 @@ FORMAT_LONG = "[%(asctime)-15s %(funcName)s] %(message)s"
 FORMAT_SHORT = "%(message)s"
 
 
+class _LessThanFilter(logging.Filter):
+    def __init__(self, max_level, name=''):
+        super().__init__(name=name)
+        self.max_level = getattr(logging, max_level.upper()) if isinstance(max_level, str) else int(max_level)
+    def filter(self, record):
+        return record.levelno < self.max_level
+
 class Logger:
     _count = 0
 
@@ -19,13 +26,14 @@ class Logger:
         self._logger.setLevel(logging.DEBUG)
 
         self._err_handler = logging.StreamHandler(stream=sys.stderr)
-        self._err_handler.setLevel(logging.ERROR)
+        self._err_handler.setLevel(logging.WARNING)
         self._err_handler.setFormatter(logging.Formatter(fmt=FORMAT_SHORT))
         self._logger.addHandler(self._err_handler)
 
         if scrn:
             self._scrn_handler = logging.StreamHandler(stream=sys.stdout)
             self._scrn_handler.setLevel(logging.INFO)
+            self._scrn_handler.addFilter(_LessThanFilter(logging.WARNING))
             self._scrn_handler.setFormatter(logging.Formatter(fmt=FORMAT_SHORT))
             self._logger.addHandler(self._scrn_handler)