feat: Ensure freqtrade-logger is always configured

This commit is contained in:
Matthias
2025-03-08 14:08:53 +01:00
parent bf33f8b632
commit 390b113776
+10 -10
View File
@@ -69,12 +69,6 @@ FT_LOGGING_CONFIG = {
"formatter": "basic", "formatter": "basic",
}, },
}, },
"loggers": {
"freqtrade": {
"level": "INFO",
"propagate": True,
},
},
"root": { "root": {
"handlers": [ "handlers": [
"console", "console",
@@ -85,6 +79,14 @@ FT_LOGGING_CONFIG = {
} }
def _set_loggers(log_config: dict[str, Any]) -> None:
if "loggers" not in log_config:
log_config["loggers"] = {}
if "freqtrade" not in log_config["loggers"]:
log_config["loggers"]["freqtrade"] = {"level": "INFO", "propagate": True}
def _add_root_handler(log_config: dict[str, Any], handler_name: str): def _add_root_handler(log_config: dict[str, Any], handler_name: str):
if handler_name not in log_config["root"]["handlers"]: if handler_name not in log_config["root"]["handlers"]:
log_config["root"]["handlers"].append(handler_name) log_config["root"]["handlers"].append(handler_name)
@@ -164,7 +166,7 @@ def _create_log_config(config: Config) -> dict[str, Any]:
"non-root user, delete and recreate the directories you need, and then try " "non-root user, delete and recreate the directories you need, and then try "
"again." "again."
) )
_set_loggers(log_config)
return log_config return log_config
@@ -172,10 +174,7 @@ def setup_logging(config: Config) -> None:
""" """
Process -v/--verbose, --logfile options Process -v/--verbose, --logfile options
""" """
verbosity = config["verbosity"]
log_config = _create_log_config(config) log_config = _create_log_config(config)
print(log_config)
logging.config.dictConfig(log_config) logging.config.dictConfig(log_config)
# Add buffer handler to root logger # Add buffer handler to root logger
@@ -189,6 +188,7 @@ def setup_logging(config: Config) -> None:
logging.info("Logfile configured") logging.info("Logfile configured")
# Set verbosity levels # Set verbosity levels
verbosity = config["verbosity"]
logging.root.setLevel(logging.INFO if verbosity < 1 else logging.DEBUG) logging.root.setLevel(logging.INFO if verbosity < 1 else logging.DEBUG)
set_loggers(verbosity, config.get("api_server", {}).get("verbosity", "info")) set_loggers(verbosity, config.get("api_server", {}).get("verbosity", "info"))