def test_set_level(): containerlog.manager.loggers = { "test": containerlog.Logger("test", manager=containerlog.manager), "foo": containerlog.Logger("foo", manager=containerlog.manager), } assert containerlog.manager.level == containerlog.DEBUG for logger in containerlog.manager.loggers.values(): assert logger.level == containerlog.DEBUG containerlog.set_level(containerlog.ERROR) assert containerlog.manager.level == containerlog.ERROR for logger in containerlog.manager.loggers.values(): assert logger.level == containerlog.ERROR
def test_init(self): logger = containerlog.Logger( name="test", level=containerlog.INFO, manager=containerlog.manager ) assert logger.name == "test" assert logger.level == containerlog.INFO assert logger._previous_level is None
def test_disable(self): logger = containerlog.Logger(name="test", manager=containerlog.manager) assert logger.level == containerlog.DEBUG assert logger._previous_level is None logger.disable() assert logger.level == 99 assert logger._previous_level == containerlog.DEBUG
def test_get_logger_existing(): expected = containerlog.Logger("test", manager=containerlog.manager) containerlog.manager.loggers["test"] = expected assert len(containerlog.manager.loggers) == 1 logger = containerlog.get_logger("test") assert logger == expected assert len(containerlog.manager.loggers) == 1
def test_enable_already_enabled(self, loglevel): logger = containerlog.Logger(name="test", level=loglevel, manager=containerlog.manager) assert logger.level == loglevel assert logger._previous_level is None logger.enable() assert logger.level == loglevel assert logger._previous_level is None
def test_disable_all(): loggers = { "test": containerlog.Logger("test", manager=containerlog.manager), "foo": containerlog.Logger("foo", manager=containerlog.manager), "foo.bar": containerlog.Logger("foo.bar", manager=containerlog.manager), "other": containerlog.Logger("other", level=99, manager=containerlog.manager), } containerlog.manager.loggers = loggers containerlog.disable() assert loggers["test"].level == 99 assert loggers["test"].disabled is True assert loggers["foo"].level == 99 assert loggers["foo"].disabled is True assert loggers["foo.bar"].level == 99 assert loggers["foo.bar"].disabled is True assert loggers["other"].level == 99 assert loggers["other"].disabled is True
def test_set_levels_no_loggers(self): manager = containerlog.Manager(level=containerlog.ERROR) logger = containerlog.Logger(name="test", manager=manager) manager.set_levels() # Verify that the manager level is ERROR assert manager.level == containerlog.ERROR # Verify that a Logger not registered with the manager # did not get the Manager's log level. assert logger.level == containerlog.DEBUG
def test_enable_all(): loggers = { "test": containerlog.Logger("test", level=99, manager=containerlog.manager), "foo": containerlog.Logger("foo", level=99, manager=containerlog.manager), "foo.bar": containerlog.Logger( "foo.bar", level=containerlog.INFO, manager=containerlog.manager ), "other": containerlog.Logger("other", level=99, manager=containerlog.manager), } containerlog.manager.loggers = loggers containerlog.enable() assert loggers["test"].level == containerlog.DEBUG assert loggers["test"].disabled is False assert loggers["foo"].level == containerlog.DEBUG assert loggers["foo"].disabled is False assert loggers["foo.bar"].level == containerlog.INFO assert loggers["foo.bar"].disabled is False assert loggers["other"].level == containerlog.DEBUG assert loggers["other"].disabled is False
def test_set_levels_with_loggers(self): manager = containerlog.Manager(level=containerlog.ERROR) logger = containerlog.Logger(name="test", manager=manager) manager.loggers = {"test": logger} assert logger.level == containerlog.DEBUG assert manager.level == containerlog.ERROR manager.set_levels() assert logger.level == containerlog.ERROR assert manager.level == containerlog.ERROR
def test_logger(): """Fixture to get an instance of a Logger with mocked proxy module functions.""" err = io.StringIO() out = io.StringIO() log = containerlog.Logger(name="test", manager=containerlog.manager) log.utcnow = lambda: datetime.datetime(2020, 1, 1) log.writeout = out.write log.writeerr = err.write yield log, out, err err.close() out.close()
def test_init_default_level(self): logger = containerlog.Logger(name="test", manager=containerlog.manager) assert logger.name == "test" assert logger.level == containerlog.DEBUG assert logger._previous_level is None
def test_disabled_true(self): logger = containerlog.Logger(name="test", manager=containerlog.manager) logger.disable() assert logger.disabled is True
def test_disabled_false(self): logger = containerlog.Logger(name="test", manager=containerlog.manager) assert logger.disabled is False