Remove default traceback logging to screen

This commit is contained in:
2025-07-20 12:35:08 -04:00
parent 5769882afd
commit 0319058531
5 changed files with 24 additions and 14 deletions

View File

@ -181,7 +181,7 @@ View full execution history:
3 Run My Pipeline 09:23:55 09:24:03 8.082s ❌ Error RuntimeError('Random failure!') 3 Run My Pipeline 09:23:55 09:24:03 8.082s ❌ Error RuntimeError('Random failure!')
``` ```
Inspect traceback on failure: Inspect result by index:
```bash ```bash
> history --result-index 0 > history --result-index 0
@ -189,7 +189,7 @@ Action(name='step_1', action=flaky_step, args=(), kwargs={}, retry=True, rollbac
ok ok
``` ```
Print last result: Print last result includes tracebacks:
```bash ```bash
> history --last-result > history --last-result

View File

@ -883,7 +883,13 @@ class Falyx:
self, selected_command: Command, error: Exception self, selected_command: Command, error: Exception
) -> None: ) -> None:
"""Handles errors that occur during the action of the selected command.""" """Handles errors that occur during the action of the selected command."""
logger.exception("Error executing '%s': %s", selected_command.description, error) logger.debug(
"[%s] '%s' failed with error: %s",
selected_command.key,
selected_command.description,
error,
exc_info=True,
)
self.console.print( self.console.print(
f"[{OneColors.DARK_RED}]An error occurred while executing " f"[{OneColors.DARK_RED}]An error occurred while executing "
f"{selected_command.description}:[/] {error}" f"{selected_command.description}:[/] {error}"
@ -973,12 +979,7 @@ class Falyx:
except Exception as error: except Exception as error:
context.exception = error context.exception = error
await self.hooks.trigger(HookType.ON_ERROR, context) await self.hooks.trigger(HookType.ON_ERROR, context)
logger.error( await self._handle_action_error(selected_command, error)
"[run_key] Failed: %s%s: %s",
selected_command.description,
type(error).__name__,
error,
)
raise FalyxError( raise FalyxError(
f"[run_key] ❌ '{selected_command.description}' failed." f"[run_key] ❌ '{selected_command.description}' failed."
) from error ) from error

View File

@ -149,14 +149,18 @@ class RetryHandler:
sleep_delay = current_delay sleep_delay = current_delay
if self.policy.jitter > 0: if self.policy.jitter > 0:
sleep_delay += random.uniform(-self.policy.jitter, self.policy.jitter) sleep_delay += random.uniform(-self.policy.jitter, self.policy.jitter)
logger.debug(
"[%s] Error: %s",
name,
last_error,
)
logger.info( logger.info(
"[%s] Retrying (%s/%s) in %ss due to '%s'...", "[%s] Retrying (%s/%s) in %ss due to '%s'...",
name, name,
retries_done, retries_done,
self.policy.max_retries, self.policy.max_retries,
current_delay, current_delay,
last_error, last_error.__class__.__name__,
) )
await asyncio.sleep(current_delay) await asyncio.sleep(current_delay)
try: try:
@ -168,12 +172,17 @@ class RetryHandler:
except Exception as retry_error: except Exception as retry_error:
last_error = retry_error last_error = retry_error
current_delay *= self.policy.backoff current_delay *= self.policy.backoff
logger.debug(
"[%s] Error: %s",
name,
retry_error,
)
logger.warning( logger.warning(
"[%s] Retry attempt %s/%s failed due to '%s'.", "[%s] Retry attempt %s/%s failed due to '%s'.",
name, name,
retries_done, retries_done,
self.policy.max_retries, self.policy.max_retries,
retry_error, retry_error.__class__.__name__,
) )
context.exception = last_error context.exception = last_error

View File

@ -1 +1 @@
__version__ = "0.1.66" __version__ = "0.1.67"

View File

@ -1,6 +1,6 @@
[tool.poetry] [tool.poetry]
name = "falyx" name = "falyx"
version = "0.1.66" version = "0.1.67"
description = "Reliable and introspectable async CLI action framework." description = "Reliable and introspectable async CLI action framework."
authors = ["Roland Thomas Jr <roland@rtj.dev>"] authors = ["Roland Thomas Jr <roland@rtj.dev>"]
license = "MIT" license = "MIT"