diff --git a/imperative/python/megengine/logger.py b/imperative/python/megengine/logger.py index 49e53eca1b25425936596f394c1816585a98f9a9..046a32485d06c46f6cedea0c91b5762c4748bf3d 100644 --- a/imperative/python/megengine/logger.py +++ b/imperative/python/megengine/logger.py @@ -200,12 +200,6 @@ try: _megbrain_logger = get_logger("megbrain", MegBrainLogFormatter) _imperative_rt_logger.set_log_handler(_megbrain_logger) - if _default_level == logging.getLevelName("ERROR"): - _imperative_rt_logger.set_log_level(_imperative_rt_logger.LogLevel.Error) - elif _default_level == logging.getLevelName("INFO"): - _imperative_rt_logger.set_log_level(_imperative_rt_logger.LogLevel.Info) - else: - _imperative_rt_logger.set_log_level(_imperative_rt_logger.LogLevel.Debug) def set_mgb_log_level(level): r""" @@ -215,11 +209,23 @@ try: :param level: new log level :return: original log level """ - logger = _megbrain_logger - rst = logger.getEffectiveLevel() - logger.setLevel(level) + _megbrain_logger.setLevel(level) + if level == logging.getLevelName("ERROR"): + rst = _imperative_rt_logger.set_log_level( + _imperative_rt_logger.LogLevel.Error + ) + elif level == logging.getLevelName("INFO"): + rst = _imperative_rt_logger.set_log_level( + _imperative_rt_logger.LogLevel.Info + ) + else: + rst = _imperative_rt_logger.set_log_level( + _imperative_rt_logger.LogLevel.Debug + ) return rst + set_mgb_log_level(_default_level) + except ImportError as exc: diff --git a/imperative/python/test/unit/core/test_util.py b/imperative/python/test/unit/core/test_util.py index c05d886cb43870a8871907773d705a73955fa336..07b81933bee3ae3d89c02132a55c37d9fd16204b 100644 --- a/imperative/python/test/unit/core/test_util.py +++ b/imperative/python/test/unit/core/test_util.py @@ -6,10 +6,19 @@ # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT ARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +import logging + from megengine.core._imperative_rt import Logger +from megengine.logger import _imperative_rt_logger, set_mgb_log_level def test_logger(): - orig_level = Logger().set_log_level(Logger.LogLevel.Info) - assert Logger().set_log_level(Logger.LogLevel.Info) == Logger.LogLevel.Info + orig_level = Logger().set_log_level(Logger.LogLevel.Debug) + assert Logger().set_log_level(Logger.LogLevel.Debug) == Logger.LogLevel.Debug Logger().set_log_level(orig_level) + orig_level = set_mgb_log_level(logging.DEBUG) + assert ( + _imperative_rt_logger.set_log_level(Logger.LogLevel.Debug) + == Logger.LogLevel.Debug + ) + _imperative_rt_logger.set_log_level(orig_level)