config.configure_logging()
Configure the global loguru logger for an application entry point.
Usage
config.configure_logging(
*, level=None, console=False, log_file=None, diagnose=False, plugin=False
)Call this ONCE, explicitly, from an application’s main() (or, for the napari plugin, from the top-level widget — see configure_logging_once). Libraries must never call it. Because loguru’s logger is a single process-global object, this one call governs logging for every module in every package in the process.
Production defaults (zero config required): a rotating file sink at INFO, console off (the Rich progress display / panels are the user channel — a console log sink would corrupt them). Calling it again simply re-applies the configuration (logger.remove() first), so it is safe to call from an idempotent widget hook.
Resolution precedence for level/log_file is argument > env var > default (env vars OMERO_SCREEN_LOG_LEVEL / OMERO_SCREEN_LOG_FILE, read here at call time — never at import).
Parameters
level: str | None = None-
Minimum level (e.g.
"DEBUG"). Falls back toOMERO_SCREEN_LOG_LEVELthen"INFO". console: bool = False-
Add a Rich console sink (sharing
progress.py’sConsole). Off by default; turn on for--verbose/ interactive debugging. log_file: str | None = None-
File-sink path. Falls back to
OMERO_SCREEN_LOG_FILEthenlogs/app.log."none"/"off"/""disables the file sink. diagnose: bool = False-
loguru variable-value tracebacks. Off in production (can leak values/secrets into the log); on for
--verbose. plugin: bool = False- When embedded in a host that owns the stdlib root logger (napari), skip installing the stdlib InterceptHandler.