Download src/primepy/logging_utils.py from sdilbaz/prime_py: direct link, hf CLI and curl.
- Browser
- Download file 950 Bytes
-
https://huggingface.co/spaces/sdilbaz/prime_py/resolve/main/src/primepy/logging_utils.py
- Command line
-
hf download hf://spaces/sdilbaz/prime_py/src/primepy/logging_utils.py
-
curl -L -o logging_utils.py https://huggingface.co/spaces/sdilbaz/prime_py/resolve/main/src/primepy/logging_utils.py
950 Bytes
| import logging | |
| from typing import Optional | |
| try: | |
| from rich.logging import RichHandler | |
| except Exception: # pragma: no cover - optional | |
| RichHandler = None # type: ignore[assignment] | |
| def configure_logging(level: int = logging.INFO, name: Optional[str] = None) -> logging.Logger: | |
| logger_name = name or "primepy" | |
| logger = logging.getLogger(logger_name) | |
| if logger.handlers: | |
| return logger | |
| logger.setLevel(level) | |
| if RichHandler is not None: | |
| handler: logging.Handler = RichHandler(rich_tracebacks=True, markup=True) | |
| else: | |
| handler = logging.StreamHandler() | |
| formatter = logging.Formatter( | |
| fmt="%(asctime)s | %(levelname)s | %(name)s | %(message)s", | |
| datefmt="%Y-%m-%d %H:%M:%S", | |
| ) | |
| if not isinstance(handler, type) and hasattr(handler, "setFormatter"): | |
| handler.setFormatter(formatter) | |
| logger.addHandler(handler) | |
| logger.propagate = False | |
| return logger | |