logging: Stop having create_logger force loglevels to INFO.

This is already the loglevel we set on the root logger, so this has no
effect -- except in tests, where `test_settings.py` attempts to set
some of these same loggers to higher loglevels.  Because the
`create_logger` call generally runs after we've configured settings,
it clobbers that effect.

The code in `test_settings.py` that tries to suppress logs only works
because it also sets `propagate=False`, which has nothing to do with
loglevels but does cause logs at this logger (and descendants) to be
dropped completely unless we've configured handlers for this logger
(or one of its relevant descendants.)
This commit is contained in:
Greg Price
2017-12-12 16:12:49 -08:00
parent b54f78968f
commit ebcf0b4876
5 changed files with 8 additions and 6 deletions

View File

@@ -187,7 +187,7 @@ class ZulipFormatter(logging.Formatter):
def create_logger(name: str,
log_file: str,
log_level: str,
log_level: Optional[str]=None,
log_format: str="%(asctime)s%(levelname)-8s%(message)s") -> Logger:
"""Creates a named logger for use in logging content to a certain
file. A few notes:
@@ -200,7 +200,9 @@ def create_logger(name: str,
"""
logging.basicConfig(format=log_format)
logger = logging.getLogger(name)
logger.setLevel(getattr(logging, log_level))
if log_level is not None:
logger.setLevel(getattr(logging, log_level))
if log_file:
formatter = logging.Formatter(log_format)