Gamahea
Deploy Music Generation Studio - 2025-12-12 16:01
aad9d66
raw
history blame
1.61 kB
"""
Logging configuration
"""
import logging
import os
from logging.handlers import RotatingFileHandler
def setup_logger(app):
"""
Configure application logging
Args:
app: Flask application instance
"""
# Create logs directory
log_dir = 'logs'
os.makedirs(log_dir, exist_ok=True)
# Set log level
log_level = getattr(logging, app.config.get('LOG_LEVEL', 'INFO'))
# Configure root logger
logging.basicConfig(
level=log_level,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
datefmt='%Y-%m-%d %H:%M:%S'
)
# File handler with rotation
log_file = app.config.get('LOG_FILE', os.path.join(log_dir, 'app.log'))
file_handler = RotatingFileHandler(
log_file,
maxBytes=10 * 1024 * 1024, # 10MB
backupCount=5
)
file_handler.setLevel(log_level)
file_handler.setFormatter(logging.Formatter(
'%(asctime)s - %(name)s - %(levelname)s - %(message)s'
))
# Console handler
console_handler = logging.StreamHandler()
console_handler.setLevel(log_level)
console_handler.setFormatter(logging.Formatter(
'%(asctime)s - %(levelname)s - %(message)s'
))
# Add handlers to app logger
app.logger.addHandler(file_handler)
app.logger.addHandler(console_handler)
app.logger.setLevel(log_level)
# Set library log levels
logging.getLogger('werkzeug').setLevel(logging.WARNING)
logging.getLogger('urllib3').setLevel(logging.WARNING)
app.logger.info("Logging configured successfully")