mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 22:13:26 +00:00
logging: Reduce create_logger to new log_to_file.
The name `create_logger` suggests something much bigger than what this function actually does -- the logger doesn't any more or less exist after the function is called than before. Its one real function is to send logs to a specific file. So, pull out that logic to an appropriately-named function just for it. We already use `logging.getLogger` in a number of places to simply get a logger by name, and the old `create_logger` callsites can do the same.
This commit is contained in:
@@ -185,24 +185,12 @@ class ZulipFormatter(logging.Formatter):
|
||||
setattr(record, 'zulip_decorated', True)
|
||||
return super().format(record)
|
||||
|
||||
def create_logger(name: str,
|
||||
log_file: str,
|
||||
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:
|
||||
|
||||
* "name" is used in determining what gets logged to which files;
|
||||
see "loggers" in zproject/settings.py for details. Don't use `""`
|
||||
-- that's the root logger.
|
||||
* "log_file" should be declared in zproject/settings.py in ZULIP_PATHS.
|
||||
|
||||
"""
|
||||
logger = logging.getLogger(name)
|
||||
|
||||
if log_file:
|
||||
formatter = logging.Formatter(log_format)
|
||||
file_handler = logging.FileHandler(log_file)
|
||||
file_handler.setFormatter(formatter)
|
||||
logger.addHandler(file_handler)
|
||||
|
||||
return logger
|
||||
def log_to_file(logger: Logger,
|
||||
filename: str,
|
||||
log_format: str="%(asctime)s%(levelname)-8s%(message)s",
|
||||
) -> None:
|
||||
"""Note: `filename` should be declared in zproject/settings.py in ZULIP_PATHS."""
|
||||
formatter = logging.Formatter(log_format)
|
||||
handler = logging.FileHandler(filename)
|
||||
handler.setFormatter(formatter)
|
||||
logger.addHandler(handler)
|
||||
|
||||
Reference in New Issue
Block a user