voiceCal-ai-v2 / app.py
pgits's picture
SECURITY: Remove sensitive API key logging from startup
61cf1f7
"""
HuggingFace Spaces entry point for ChatCal.ai
Minimal changes - uses JWT sessions instead of Redis
"""
import os
import sys
import uvicorn
from datetime import datetime
# Add the current directory to Python path for imports
sys.path.insert(0, '/app')
# Set HF-specific environment variables
os.environ.setdefault("SESSION_BACKEND", "jwt")
os.environ.setdefault("APP_ENV", "production")
os.environ.setdefault("APP_PORT", "7860") # HF Spaces default port
# Import after setting up the path
from app.api.main import app
if __name__ == "__main__":
# Setup enhanced dual logging (stdout + file)
from app.core.logging_config import setup_enhanced_logging, setup_breakpoint_debugging
# Enable DEBUG level for comprehensive logging
log_level = os.environ.get("LOG_LEVEL", "DEBUG")
log_file = setup_enhanced_logging(log_level=log_level, log_file="/tmp/app.log")
setup_breakpoint_debugging()
import logging
logger = logging.getLogger("app.startup")
port = int(os.environ.get("PORT", os.environ.get("APP_PORT", 7860)))
logger.info(f"πŸš€ Starting ChatCal.ai VoiceCal-ai-v1 on port {port}")
logger.info(f"πŸ”§ Session Backend: {os.environ.get('SESSION_BACKEND', 'unknown')}")
logger.info(f"🌍 Environment: {os.environ.get('APP_ENV', 'unknown')}")
logger.info(f"πŸ“ Log file: {log_file}")
logger.info(f"πŸ› SSH debugging available via Dev Mode")
# Additional startup diagnostics (removed sensitive key logging for security)
try:
# Add startup delay to prevent rapid restart loops
import time
time.sleep(2) # Give HF Spaces time to stabilize
uvicorn.run(
app,
host="0.0.0.0",
port=port,
log_level="warning", # Reduce uvicorn noise, our dual logger handles app logs
access_log=False, # Reduce access log spam
reload=False, # Never use reload in production
workers=1 # Single worker for HF Spaces
)
except Exception as e:
logger.critical(f"πŸ’₯ Application startup failed: {e}")
raise