Spaces:
Sleeping
Sleeping
Download config/logger_config.py from DvorakInnovationAI/GenAI-FASTAPI: direct link, hf CLI and curl.
- Browser
- Download file 2.14 kB
-
https://huggingface.co/spaces/DvorakInnovationAI/GenAI-FASTAPI/resolve/main/config/logger_config.py
- Command line
-
hf download hf://spaces/DvorakInnovationAI/GenAI-FASTAPI/config/logger_config.py
-
curl -L -o logger_config.py https://huggingface.co/spaces/DvorakInnovationAI/GenAI-FASTAPI/resolve/main/config/logger_config.py
2.14 kB
| # logger_config.py | |
| import logging | |
| import os | |
| class RelativePathFormatter(logging.Formatter): | |
| def format(self, record): | |
| record.relpath = os.path.relpath(record.pathname, os.getcwd()) | |
| return super().format(record) | |
| def setup_loggers(): | |
| os.makedirs("logs", exist_ok=True) | |
| # === Format === | |
| # formatter = logging.Formatter("%(asctime)s | %(levelname)s | %(name)s | %(message)s") | |
| formatter = RelativePathFormatter("%(asctime)s | %(levelname)s | %(name)s | %(relpath)s:%(lineno)d | %(message)s") | |
| # === App Logger === | |
| app_logger = logging.getLogger("app_logger") | |
| app_handler = logging.FileHandler("logs/app.log") | |
| app_handler.setLevel(logging.INFO) | |
| app_handler.setFormatter(formatter) | |
| app_logger.setLevel(logging.INFO) | |
| app_logger.addHandler(app_handler) | |
| # === Error Logger === | |
| error_logger = logging.getLogger("error_logger") | |
| error_handler = logging.FileHandler("logs/errors.log") | |
| error_handler.setLevel(logging.ERROR) | |
| error_handler.setFormatter(formatter) | |
| error_logger.setLevel(logging.ERROR) | |
| error_logger.addHandler(error_handler) | |
| # === Access Logger === (optional for request logs) | |
| access_logger = logging.getLogger("access_logger") | |
| access_handler = logging.FileHandler("logs/access.log") | |
| access_handler.setLevel(logging.INFO) | |
| access_handler.setFormatter(formatter) | |
| access_logger.setLevel(logging.INFO) | |
| access_logger.addHandler(access_handler) | |
| # === Warning Logger === | |
| warning_logger = logging.getLogger("warning_logger") | |
| warning_handler = logging.FileHandler("logs/warnings.log") | |
| warning_handler.setLevel(logging.WARNING) # WARNING, ERROR, CRITICAL | |
| warning_handler.setFormatter(formatter) | |
| warning_logger.setLevel(logging.WARNING) | |
| warning_logger.addHandler(warning_handler) | |
| # Optional: also log to console | |
| console_handler = logging.StreamHandler() | |
| console_handler.setFormatter(formatter) | |
| app_logger.addHandler(console_handler) | |
| error_logger.addHandler(console_handler) | |
| access_logger.addHandler(console_handler) | |
| warning_logger.addHandler(console_handler) | |