Aniworld/run_server.py
Lukas 94c53e9555 feat: Add comprehensive logging system with console and file output
- Create logging infrastructure in src/infrastructure/logging/
  - logger.py: Main logging setup with console and file handlers
  - uvicorn_config.py: Custom uvicorn logging configuration
  - __init__.py: Export public logging API

- Update FastAPI application to use logging
  - Replace all print() statements with proper logger calls
  - Initialize logging during application startup
  - Add detailed startup/shutdown logging

- Add startup scripts
  - run_server.py: Python script with uvicorn logging config
  - start_server.sh: Bash wrapper script

- Add comprehensive documentation
  - docs/logging.md: User guide for logging system
  - docs/logging_implementation_summary.md: Technical implementation details

Features:
- Console logging with clean, readable format
- File logging with timestamps to logs/fastapi_app.log
- Configurable log level via LOG_LEVEL environment variable
- Proper lazy formatting for performance
- Captures all uvicorn, application, and module logs
- Automatic log directory creation
2025-10-25 17:40:20 +02:00

23 lines
552 B
Python

#!/usr/bin/env python3
"""
Startup script for the Aniworld FastAPI application.
This script starts the application with proper logging configuration.
"""
import uvicorn
from src.infrastructure.logging.uvicorn_config import get_uvicorn_log_config
if __name__ == "__main__":
# Get logging configuration
log_config = get_uvicorn_log_config()
# Run the application with logging
uvicorn.run(
"src.server.fastapi_app:app",
host="127.0.0.1",
port=8000,
reload=True,
log_config=log_config,
)