mirror of
https://github.com/django/django.git
synced 2024-12-01 15:42:04 +01:00
Restored django.test.utils.patch_logger() for backwards compatibility.
Added back after 607970f31c
.
This commit is contained in:
parent
2bc014750a
commit
8dcd43ce06
@ -634,6 +634,29 @@ class ignore_warnings(TestContextDecorator):
|
|||||||
self.catch_warnings.__exit__(*sys.exc_info())
|
self.catch_warnings.__exit__(*sys.exc_info())
|
||||||
|
|
||||||
|
|
||||||
|
@contextmanager
|
||||||
|
def patch_logger(logger_name, log_level, log_kwargs=False):
|
||||||
|
"""
|
||||||
|
Context manager that takes a named logger and the logging level
|
||||||
|
and provides a simple mock-like list of messages received.
|
||||||
|
|
||||||
|
Use unitttest.assertLogs() if you only need Python 3 support. This
|
||||||
|
private API will be removed after Python 2 EOL in 2020 (#27753).
|
||||||
|
"""
|
||||||
|
calls = []
|
||||||
|
|
||||||
|
def replacement(msg, *args, **kwargs):
|
||||||
|
call = msg % args
|
||||||
|
calls.append((call, kwargs) if log_kwargs else call)
|
||||||
|
logger = logging.getLogger(logger_name)
|
||||||
|
orig = getattr(logger, log_level)
|
||||||
|
setattr(logger, log_level, replacement)
|
||||||
|
try:
|
||||||
|
yield calls
|
||||||
|
finally:
|
||||||
|
setattr(logger, log_level, orig)
|
||||||
|
|
||||||
|
|
||||||
# On OSes that don't provide tzset (Windows), we can't set the timezone
|
# On OSes that don't provide tzset (Windows), we can't set the timezone
|
||||||
# in which the program runs. As a consequence, we must skip tests that
|
# in which the program runs. As a consequence, we must skip tests that
|
||||||
# don't enforce a specific timezone (with timezone.override or equivalent),
|
# don't enforce a specific timezone (with timezone.override or equivalent),
|
||||||
|
Loading…
Reference in New Issue
Block a user