Returns a LogConfig that is hopefully useful to most users.
The config object can be passed to other environments to get the same
log configuration in those other environments.
Source code in academy/logging/recommended.py
| def recommended_logging(
level: int | str = logging.INFO,
*,
logfile: str | pathlib.Path | None = None,
logfile_level: int | str | None = None,
color: bool = True,
extra: int = False,
) -> LogConfig:
"""Returns a LogConfig that is hopefully useful to most users.
The config object can be passed to other environments to get the same
log configuration in those other environments.
"""
configs: list[LogConfig] = []
# Always makes a console logger.
configs.append(ConsoleLogging(level=level, color=color, extra=extra))
# If a log file is specified, make human readable logger
if logfile is not None:
logfile_level = level if logfile_level is None else logfile_level
configs.append(
FileLogging(logfile=logfile, level=logfile_level, extra=extra),
)
lc = configs[0] if len(configs) == 1 else MultiLogging(configs)
return lc
|