diff --git a/module_build_service/__init__.py b/module_build_service/__init__.py index b8e638ae..da91231d 100644 --- a/module_build_service/__init__.py +++ b/module_build_service/__init__.py @@ -128,7 +128,11 @@ def notfound_error(e): init_logging(conf) log = getLogger(__name__) -build_logs = ModuleBuildLogs(conf.build_logs_dir, conf.build_logs_name_format) +build_logs = ModuleBuildLogs( + conf.build_logs_dir, + conf.build_logs_name_format, + conf.log_level, +) def get_url_for(*args, **kwargs): diff --git a/module_build_service/logger.py b/module_build_service/logger.py index 838dc3a0..4218824d 100644 --- a/module_build_service/logger.py +++ b/module_build_service/logger.py @@ -87,7 +87,7 @@ class ModuleBuildLogs(object): """ Manages ModuleBuildFileHandler logging handlers. """ - def __init__(self, build_logs_dir, build_logs_name_format): + def __init__(self, build_logs_dir, build_logs_name_format, level=logging.INFO): """ Creates new ModuleBuildLogs instance. Module build logs are stored to `build_logs_dir` directory. @@ -95,6 +95,7 @@ class ModuleBuildLogs(object): self.handlers = {} self.build_logs_dir = build_logs_dir self.build_logs_name_format = build_logs_name_format + self.level = level def path(self, build): """ @@ -122,8 +123,10 @@ class ModuleBuildLogs(object): # Create and add ModuleBuildFileHandler. handler = ModuleBuildFileHandler(build.id, self.path(build)) + handler.setLevel(self.level) handler.setFormatter(logging.Formatter(log_format, None)) log = logging.getLogger() + log.setLevel(self.level) log.addHandler(handler) self.handlers[build.id] = handler diff --git a/tests/test_logger.py b/tests/test_logger.py index 4a4d92af..618d8c19 100644 --- a/tests/test_logger.py +++ b/tests/test_logger.py @@ -88,7 +88,8 @@ class TestLogger(unittest.TestCase): self.assertTrue(os.path.exists(path)) with open(path, "r") as f: data = f.read() - for level in ["DEBUG", "INFO", "WARNING", "ERROR"]: + # Note that DEBUG is not present unless configured server-wide. + for level in ["INFO", "WARNING", "ERROR"]: self.assertTrue(data.find("%s - ignore this test msg1" % level) != -1) # Try to log more messages when build_log for module 1 is stopped.