videoSummary/app/utils/logger.py
2025-12-02 18:54:14 +08:00

45 lines
1.1 KiB
Python

"""
Logger setup utility
"""
import logging
import sys
from flask import Flask
def setup_logger(app: Flask):
"""
Setup application logger
Args:
app: Flask application instance
"""
config = app.config
# Get log level
log_level = getattr(logging, config.get('log_level', 'INFO').upper(), logging.INFO)
# Configure logger
logger = logging.getLogger('videoSummary')
logger.setLevel(log_level)
# Create formatter
if config.get('log_format') == 'json':
formatter = logging.Formatter(
'{"time": "%(asctime)s", "level": "%(levelname)s", "message": "%(message)s", "module": "%(name)s"}'
)
else:
formatter = logging.Formatter(
'%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
# Create handler
if config.get('log_output') == 'stdout' or not config.get('log_output'):
handler = logging.StreamHandler(sys.stdout)
else:
handler = logging.FileHandler(config.get('log_output'))
handler.setFormatter(formatter)
logger.addHandler(handler)
app.logger = logger