Set the level of a logger for the duration of a test. .. versionchanged:: 3.4 The levels of the loggers changed by this function will be restored to their initial values at the end of the test. :param int level: The level. :param str logger: The logg
(self, level: Union[int, str], logger: Optional[str] = None)
| 439 | self.handler.reset() |
| 440 | |
| 441 | def set_level(self, level: Union[int, str], logger: Optional[str] = None) -> None: |
| 442 | """Set the level of a logger for the duration of a test. |
| 443 | |
| 444 | .. versionchanged:: 3.4 |
| 445 | The levels of the loggers changed by this function will be |
| 446 | restored to their initial values at the end of the test. |
| 447 | |
| 448 | :param int level: The level. |
| 449 | :param str logger: The logger to update. If not given, the root logger. |
| 450 | """ |
| 451 | logger_obj = logging.getLogger(logger) |
| 452 | # Save the original log-level to restore it during teardown. |
| 453 | self._initial_logger_levels.setdefault(logger, logger_obj.level) |
| 454 | logger_obj.setLevel(level) |
| 455 | if self._initial_handler_level is None: |
| 456 | self._initial_handler_level = self.handler.level |
| 457 | self.handler.setLevel(level) |
| 458 | |
| 459 | @contextmanager |
| 460 | def at_level( |