diff --git a/src/dpy_logger/dpy_logger.py b/src/dpy_logger/dpy_logger.py index 0ee6d41..be839a2 100644 --- a/src/dpy_logger/dpy_logger.py +++ b/src/dpy_logger/dpy_logger.py @@ -213,8 +213,11 @@ class DPYLogger: content=content, embed=self.build_embed(level, action, actor, log_msg), ) - except Exception: - _log.exception(f"[dpy_logger] failed to send {level} log: {log_msg}") + except Exception as exc: + # WARNING, not ERROR: the record was already mirrored to the stdlib sink BEFORE the + # send (see _emit_stdlib above), so a swallowed discord-send failure is recovered + # cleanly - the log survives, only the channel mirror was lost. lazy interpolation. + _log.warning("[dpy_logger] failed to send %s log: %s (%s)", level, log_msg, exc) return None async def debug(self, log, action=None, actor=None, guild=None, log_to_file=None):