# 日志系统配置 version: 1 disable_existing_loggers: false formatters: detailed: format: '[%(asctime)s] [%(levelname)s] [%(name)s] [%(task_id)s] %(message)s' datefmt: '%Y-%m-%d %H:%M:%S' structured: format: '{"timestamp": "%(asctime)s", "level": "%(levelname)s", "module": "%(name)s", "task_id": "%(task_id)s", "message": "%(message)s"}' datefmt: '%Y-%m-%d %H:%M:%S' simple: format: '[%(levelname)s] %(message)s' handlers: console: class: logging.StreamHandler level: DEBUG formatter: detailed stream: ext://sys.stdout file_handler: class: logging.handlers.RotatingFileHandler level: INFO formatter: structured filename: logs/app.log maxBytes: 10485760 # 10MB backupCount: 5 encoding: utf8 error_file_handler: class: logging.handlers.RotatingFileHandler level: ERROR formatter: detailed filename: logs/error.log maxBytes: 10485760 # 10MB backupCount: 5 encoding: utf8 loggers: transcript_service: level: DEBUG handlers: [console, file_handler, error_file_handler] propagate: false transcript_service.oss: level: INFO handlers: [console, file_handler] propagate: false transcript_service.api: level: INFO handlers: [console, file_handler] propagate: false transcript_service.task: level: DEBUG handlers: [console, file_handler] propagate: false root: level: WARNING handlers: [console, file_handler]