about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/colorlog/wrappers.py
diff options
context:
space:
mode:
authorS. Solomon Darnell2025-03-28 21:52:21 -0500
committerS. Solomon Darnell2025-03-28 21:52:21 -0500
commit4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch)
treeee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/colorlog/wrappers.py
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are here HEAD master
Diffstat (limited to '.venv/lib/python3.12/site-packages/colorlog/wrappers.py')
-rw-r--r--.venv/lib/python3.12/site-packages/colorlog/wrappers.py101
1 files changed, 101 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/colorlog/wrappers.py b/.venv/lib/python3.12/site-packages/colorlog/wrappers.py
new file mode 100644
index 00000000..e05756fb
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/colorlog/wrappers.py
@@ -0,0 +1,101 @@
+"""Wrappers around the logging module."""
+
+import functools
+import logging
+import sys
+import typing
+from logging import (
+    CRITICAL,
+    DEBUG,
+    ERROR,
+    FATAL,
+    INFO,
+    NOTSET,
+    StreamHandler,
+    WARN,
+    WARNING,
+    getLogger,
+    root,
+)
+
+import colorlog.formatter
+
+__all__ = (
+    "CRITICAL",
+    "DEBUG",
+    "ERROR",
+    "FATAL",
+    "INFO",
+    "NOTSET",
+    "WARN",
+    "WARNING",
+    "StreamHandler",
+    "basicConfig",
+    "critical",
+    "debug",
+    "error",
+    "exception",
+    "getLogger",
+    "info",
+    "log",
+    "root",
+    "warning",
+)
+
+
+def basicConfig(
+    style: colorlog.formatter._FormatStyle = "%",
+    log_colors: typing.Optional[colorlog.formatter.LogColors] = None,
+    reset: bool = True,
+    secondary_log_colors: typing.Optional[colorlog.formatter.SecondaryLogColors] = None,
+    format: str = "%(log_color)s%(levelname)s%(reset)s:%(name)s:%(message)s",
+    datefmt: typing.Optional[str] = None,
+    **kwargs
+) -> None:
+    """Call ``logging.basicConfig`` and override the formatter it creates."""
+    logging.basicConfig(**kwargs)
+
+    def _basicConfig():
+        handler = logging.root.handlers[0]
+        handler.setFormatter(
+            colorlog.formatter.ColoredFormatter(
+                fmt=format,
+                datefmt=datefmt,
+                style=style,
+                log_colors=log_colors,
+                reset=reset,
+                secondary_log_colors=secondary_log_colors,
+                stream=kwargs.get("stream", None),
+            )
+        )
+
+    if sys.version_info >= (3, 13):
+        with logging._lock:  # type: ignore
+            _basicConfig()
+    else:
+        logging._acquireLock()  # type: ignore
+        try:
+            _basicConfig()
+        finally:
+            logging._releaseLock()  # type: ignore
+
+
+def ensure_configured(func):
+    """Modify a function to call our basicConfig() first if no handlers exist."""
+
+    @functools.wraps(func)
+    def wrapper(*args, **kwargs):
+        if len(logging.root.handlers) == 0:
+            basicConfig()
+        return func(*args, **kwargs)
+
+    return wrapper
+
+
+debug = ensure_configured(logging.debug)
+info = ensure_configured(logging.info)
+warning = ensure_configured(logging.warning)
+error = ensure_configured(logging.error)
+critical = ensure_configured(logging.critical)
+log = ensure_configured(logging.log)
+exception = ensure_configured(logging.exception)