From 3cb6bb5a3a351ca97623acb0996fe4baddc8d248 Mon Sep 17 00:00:00 2001 From: harryswift01 Date: Tue, 13 May 2025 15:10:55 +0100 Subject: [PATCH 1/2] Refinements made to the logging outputs as mentioned in issue #89: - Ensured the `.log` file is set to the same level as the logger, not just verbose - MDAnalysis logging levels are the same as the ones used in CodeEntropy - Ensure the correct setting of the logger is enforced in the `update_logging_level` function --- CodeEntropy/config/logging_config.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/CodeEntropy/config/logging_config.py b/CodeEntropy/config/logging_config.py index 106b3ae..e652e3e 100644 --- a/CodeEntropy/config/logging_config.py +++ b/CodeEntropy/config/logging_config.py @@ -38,12 +38,12 @@ def __init__(self, folder, log_level=logging.INFO): "class": "logging.FileHandler", "filename": os.path.join(log_directory, "program.log"), "formatter": "detailed", - "level": logging.DEBUG, + "level": log_level, }, "errorfile": { "class": "logging.FileHandler", "filename": os.path.join(log_directory, "program.err"), - "formatter": "detailed", + "formatter": "simple", "level": logging.ERROR, }, "commandfile": { @@ -56,7 +56,7 @@ def __init__(self, folder, log_level=logging.INFO): "class": "logging.FileHandler", "filename": os.path.join(log_directory, "mdanalysis.log"), "formatter": "detailed", - "level": logging.DEBUG, + "level": log_level, }, }, "loggers": { @@ -66,7 +66,7 @@ def __init__(self, folder, log_level=logging.INFO): }, "MDAnalysis": { "handlers": ["mdanalysis_log"], - "level": logging.DEBUG, + "level": log_level, "propagate": False, }, "commands": { @@ -88,17 +88,17 @@ def update_logging_level(self, log_level): root_logger = logging.getLogger() root_logger.setLevel(log_level) for handler in root_logger.handlers: - if isinstance(handler, logging.FileHandler): - handler.setLevel(logging.DEBUG) - else: - handler.setLevel(logging.INFO) + handler.setLevel( + log_level if isinstance(handler, logging.FileHandler) else logging.INFO + ) # Update all other loggers and their handlers for logger_name in self.LOGGING["loggers"]: logger = logging.getLogger(logger_name) logger.setLevel(log_level) for handler in logger.handlers: - if isinstance(handler, logging.FileHandler): - handler.setLevel(logging.DEBUG) - else: - handler.setLevel(logging.INFO) + handler.setLevel( + log_level + if isinstance(handler, logging.FileHandler) + else logging.INFO + ) From 8f777bb9af3ea2358c0ca69ee56730b76a9c6310 Mon Sep 17 00:00:00 2001 From: harryswift01 Date: Tue, 13 May 2025 15:28:00 +0100 Subject: [PATCH 2/2] Fix to `test_mdanalysis_and_command_loggers_exist` to reflect changes made to the updates in issue #89 --- tests/test_CodeEntropy/test_logging_config.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/test_CodeEntropy/test_logging_config.py b/tests/test_CodeEntropy/test_logging_config.py index ac25ac9..08f50a4 100644 --- a/tests/test_CodeEntropy/test_logging_config.py +++ b/tests/test_CodeEntropy/test_logging_config.py @@ -65,11 +65,17 @@ def test_update_logging_level(self): self.assertEqual(root_logger.level, logging.INFO) def test_mdanalysis_and_command_loggers_exist(self): - """Ensure specialized loggers are set up""" + """Ensure specialized loggers are set up with correct configuration""" + log_level = logging.DEBUG + self.logging_config = LoggingConfig( + folder=self.temp_dir.name, log_level=log_level + ) self.logging_config.setup_logging() + mda_logger = logging.getLogger("MDAnalysis") cmd_logger = logging.getLogger("commands") - self.assertEqual(mda_logger.level, logging.DEBUG) + + self.assertEqual(mda_logger.level, log_level) self.assertEqual(cmd_logger.level, logging.INFO) self.assertFalse(mda_logger.propagate) self.assertFalse(cmd_logger.propagate)