From 4acb59941b95772496c6b6816343ca98a459835c Mon Sep 17 00:00:00 2001 From: Leo Vasanko Date: Thu, 13 Aug 2026 01:22:00 +0000 Subject: [PATCH] Always configure emoji loggers on CLI entry. --- mediapreview/__main__.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/mediapreview/__main__.py b/mediapreview/__main__.py index 17fb2f7..fd17158 100644 --- a/mediapreview/__main__.py +++ b/mediapreview/__main__.py @@ -31,10 +31,18 @@ from pathlib import Path from docopt import docopt from mediapreview.backends import dispatch +from mediapreview.util.logformat import EmojiFormatter + + +def _configure_logging() -> None: + handler = logging.StreamHandler(sys.stderr) + handler.setFormatter(EmojiFormatter()) + logging.basicConfig(level=logging.INFO, handlers=[handler]) + # pyvips is chatty at INFO ("threadpool completed ..." per operation). + logging.getLogger("pyvips").setLevel(logging.WARNING) def _oosetup(name: str, port: int) -> None: - logging.basicConfig(level=logging.INFO, format="%(message)s") try: # Lazy import: keeps the base CLI free of office-extra concerns. from mediapreview.office import setup_docker # noqa: PLC0415 @@ -84,6 +92,7 @@ def _preview(args: dict) -> None: def main() -> None: + _configure_logging() # docopt matches usage patterns in order, so `oosetup` would be swallowed # by the pattern if it came second. Dispatch it before parsing; # the main help above still documents both modes.