diff --git a/src/chronos/app_factory.py b/src/chronos/app_factory.py index b908a4b..8ade142 100644 --- a/src/chronos/app_factory.py +++ b/src/chronos/app_factory.py @@ -116,7 +116,8 @@ def single_run(self) -> None: self.close_calendars() logger.debug("Closed sockets to calendars") except Exception as ex: - logger.critical(f"Cron excecution failed. Reason {ex}") + show_trace = self.app_config.get("log", "show_tracebacks") + logger.critical(f"Cron excecution failed. Reason {ex}", exc_info=show_trace) def close_calendars(self): try: diff --git a/src/chronos/config.py b/src/chronos/config.py index fa3bb68..050460c 100644 --- a/src/chronos/config.py +++ b/src/chronos/config.py @@ -87,7 +87,7 @@ class ConfigValue: Set Types: frozenset """ - def __init__(self, name, datatype=str, value=None, default=None): + def __init__(self, name, datatype: type = str, value=None, default=None): if datatype not in ( str, int, @@ -281,6 +281,7 @@ def __init__(self): ConfigValue("rotation", default="d"), ConfigValue("interval", int, default=1), ConfigValue("backups", int, default=7), + ConfigValue("show_tracebacks", bool, default=False), ) # Section [debug] self.debug = ConfigSection(