From 2730d9effd83703f1c3e6d6beed0bfb6e05f457a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20P=C3=A9rez-Garc=C3=ADa?= Date: Tue, 1 Mar 2022 10:33:54 +0000 Subject: [PATCH 1/2] Print out name of log level instead of number --- InnerEye/Common/common_util.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/InnerEye/Common/common_util.py b/InnerEye/Common/common_util.py index 0433da5a5..aaf49e72e 100644 --- a/InnerEye/Common/common_util.py +++ b/InnerEye/Common/common_util.py @@ -153,7 +153,7 @@ def logging_to_stdout(log_level: Union[int, str] = logging.INFO) -> None: logging_stdout_handler = logging.StreamHandler(stream=sys.stdout) _add_formatter(logging_stdout_handler) logger.addHandler(logging_stdout_handler) - print(f"Setting logging level to {log_level}") + print(f"Setting logging level to {log_level} ({get_log_level_string(log_level)})") logging_stdout_handler.setLevel(log_level) logger.setLevel(log_level) @@ -170,6 +170,17 @@ def standardize_log_level(log_level: Union[int, str]) -> int: return log_level +def get_log_level_string(log_level: int) -> str: + """ + :param log_level: integer version of a log level, e.g. 20. + :return: string version of the level; throws an error if the level is not registered. + """ + valid_levels = list(logging._levelToName.keys()) + if log_level not in valid_levels: + raise ValueError(f"Log level {log_level} is not valid. Possible values are: {valid_levels}") + return logging._levelToName[log_level] + + def logging_to_file(file_path: Path) -> None: """ Instructs the Python logging libraries to start writing logs to the given file. From bd4937b25b782e6c36f414275280a60a872ed0e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20P=C3=A9rez-Garc=C3=ADa?= Date: Tue, 1 Mar 2022 10:43:26 +0000 Subject: [PATCH 2/2] Update CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3619f4292..0ecab92c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ created. ### Added +- ([#678](https://github.com/microsoft/InnerEye-DeepLearning/pull/678)) Add function to get log level name and use it for logging. - ([#666](https://github.com/microsoft/InnerEye-DeepLearning/pull/666)) Replace RadIO with TorchIO for patch-based inference. - ([#643](https://github.com/microsoft/InnerEye-DeepLearning/pull/643)) Test for recovery of SSL job. Tracks learning rate and train loss.