Download app/logging_config.py from grimshaw/tts-api: direct link, hf CLI and curl.
- Browser
- Download file 1.83 kB
-
https://huggingface.co/spaces/grimshaw/tts-api/resolve/main/app/logging_config.py
- Command line
-
hf download hf://spaces/grimshaw/tts-api/app/logging_config.py
-
curl -L -o logging_config.py https://huggingface.co/spaces/grimshaw/tts-api/resolve/main/app/logging_config.py
1.83 kB
| """ | |
| Logging configuration with file rotation support. | |
| """ | |
| import logging | |
| import sys | |
| from logging.handlers import RotatingFileHandler | |
| from pathlib import Path | |
| from app.config import Config | |
| def setup_logging(log_level: str = None) -> logging.Logger: | |
| level = getattr(logging, (log_level or Config.LOG_LEVEL).upper(), logging.INFO) | |
| logger = logging.getLogger('SuperTonic3') | |
| logger.setLevel(level) | |
| if logger.handlers: | |
| return logger | |
| console_handler = logging.StreamHandler(sys.stdout) | |
| console_handler.setLevel(level) | |
| console_format = logging.Formatter( | |
| '%(asctime)s - %(levelname)s - %(message)s', datefmt='%Y-%m-%d %H:%M:%S' | |
| ) | |
| console_handler.setFormatter(console_format) | |
| logger.addHandler(console_handler) | |
| try: | |
| log_dir = Path(Config.LOG_DIR) | |
| log_dir.mkdir(parents=True, exist_ok=True) | |
| log_path = log_dir / Config.LOG_FILE | |
| file_handler = RotatingFileHandler( | |
| log_path, | |
| maxBytes=Config.LOG_MAX_BYTES, | |
| backupCount=Config.LOG_BACKUP_COUNT, | |
| encoding='utf-8', | |
| ) | |
| file_handler.setLevel(level) | |
| file_format = logging.Formatter( | |
| '%(asctime)s - %(name)s - %(levelname)s - [%(filename)s:%(lineno)d] - %(message)s', | |
| datefmt='%Y-%m-%d %H:%M:%S', | |
| ) | |
| file_handler.setFormatter(file_format) | |
| logger.addHandler(file_handler) | |
| except Exception as e: | |
| logger.warning(f'Could not set up file logging: {e}') | |
| logging.getLogger('werkzeug').setLevel(logging.WARNING) | |
| logging.getLogger('urllib3').setLevel(logging.WARNING) | |
| return logger | |
| def get_logger(name: str = None) -> logging.Logger: | |
| base_logger = logging.getLogger('SuperTonic3') | |
| if name: | |
| return base_logger.getChild(name) | |
| return base_logger | |