diff options
| author | Chris Jerdonek <chris.jerdonek@gmail.com> | 2021-08-09 13:18:51 -0400 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-08-24 09:23:01 +0200 |
| commit | b263f4b69db4093847ccc3b85e51cc7f3759e42c (patch) | |
| tree | 1c20b6a8ae6fef70164340dd5ac8b37babcec537 /django | |
| parent | 022d29c934107c515dd6d3181945146a2077bdf0 (diff) | |
Fixed #32552 -- Added logger argument to DiscoverRunner.
Diffstat (limited to 'django')
| -rw-r--r-- | django/test/runner.py | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/django/test/runner.py b/django/test/runner.py index eb5026b212..225bc19b09 100644 --- a/django/test/runner.py +++ b/django/test/runner.py @@ -561,7 +561,7 @@ class DiscoverRunner: reverse=False, debug_mode=False, debug_sql=False, parallel=0, tags=None, exclude_tags=None, test_name_patterns=None, pdb=False, buffer=False, enable_faulthandler=True, - timing=False, shuffle=False, **kwargs): + timing=False, shuffle=False, logger=None, **kwargs): self.pattern = pattern self.top_level = top_level @@ -595,6 +595,7 @@ class DiscoverRunner: } self.shuffle = shuffle self._shuffler = None + self.logger = logger @classmethod def add_arguments(cls, parser): @@ -677,16 +678,23 @@ class DiscoverRunner: def log(self, msg, level=None): """ - Log the given message at the given logging level. + Log the message at the given logging level (the default is INFO). - A verbosity of 1 logs INFO (the default level) or above, and verbosity - 2 or higher logs all levels. + If a logger isn't set, the message is instead printed to the console, + respecting the configured verbosity. A verbosity of 0 prints no output, + a verbosity of 1 prints INFO and above, and a verbosity of 2 or higher + prints all levels. """ - if self.verbosity <= 0 or ( - self.verbosity == 1 and level is not None and level < logging.INFO - ): - return - print(msg) + if level is None: + level = logging.INFO + if self.logger is None: + if self.verbosity <= 0 or ( + self.verbosity == 1 and level < logging.INFO + ): + return + print(msg) + else: + self.logger.log(level, msg) def setup_test_environment(self, **kwargs): setup_test_environment(debug=self.debug_mode) |
