Source code for artifacts._logging

"""SDK-wide logging configuration.

Provides a simple ``setup_logging()`` helper so beginners can enable
informative output with a single call::

    import artifacts
    artifacts.setup_logging()             # INFO level
    artifacts.setup_logging(logging.DEBUG) # verbose
"""

from __future__ import annotations

import logging


[docs] def setup_logging(level: int = logging.INFO) -> None: """Configure logging for the Artifacts SDK. Sets up a ``StreamHandler`` on the ``"artifacts"`` logger with a concise timestamp format. Subsequent calls update the level without adding duplicate handlers. """ logger = logging.getLogger("artifacts") if not logger.handlers: handler = logging.StreamHandler() handler.setFormatter( logging.Formatter( "[%(asctime)s] %(name)s %(levelname)s: %(message)s", datefmt="%H:%M:%S", ) ) logger.addHandler(handler) logger.setLevel(level)