Spaces:
Running on Zero
Running on Zero
| from __future__ import annotations | |
| import os | |
| import sys | |
| from pathlib import Path | |
| from loguru import logger | |
| DEFAULT_LOG_LEVEL = "INFO" | |
| DEFAULT_LOG_FORMAT = ( | |
| "{time:YYYY-MM-DD HH:mm:ss.SSS} | {level:<8} | " | |
| "{name}:{function}:{line} | {message}" | |
| ) | |
| def configure_logging( | |
| *, | |
| level: str | None = None, | |
| log_file: str | os.PathLike[str] | None = None, | |
| ) -> None: | |
| resolved_level = (level or os.environ.get("DOTS_TTS_LOG_LEVEL") or DEFAULT_LOG_LEVEL).upper() | |
| logger.remove() | |
| logger.add( | |
| sys.stderr, | |
| level=resolved_level, | |
| format=DEFAULT_LOG_FORMAT, | |
| backtrace=True, | |
| diagnose=False, | |
| enqueue=False, | |
| ) | |
| if log_file: | |
| log_path = Path(log_file).expanduser() | |
| log_path.parent.mkdir(parents=True, exist_ok=True) | |
| logger.add( | |
| log_path, | |
| level=resolved_level, | |
| format=DEFAULT_LOG_FORMAT, | |
| backtrace=True, | |
| diagnose=False, | |
| enqueue=False, | |
| encoding="utf-8", | |
| ) | |