version: 1 disable_existing_loggers: false formatters: default: (): uvicorn.logging.DefaultFormatter fmt: '%(asctime)s - %(levelname)s %(message)s' use_colors: null access: (): uvicorn.logging.AccessFormatter fmt: '%(asctime)s - %(levelname)s %(client_addr)s - "%(request_line)s" %(status_code)s' handlers: default: formatter: default class: logging.StreamHandler stream: 'ext://sys.stderr' access: formatter: access class: logging.StreamHandler stream: 'ext://sys.stdout' sql_file: class: logging.handlers.RotatingFileHandler level: INFO formatter: default filename: ./log/sql.log maxBytes: 10485760 # 10MB backupCount: 50 #保留50个log文件 encoding: utf8 err_file: class: logging.handlers.RotatingFileHandler level: ERROR formatter: default filename: ./log/err.log maxBytes: 10485760 # 10MB backupCount: 50 #保留50个log文件 encoding: utf8 loggers: root: handlers: - default - err_file level: INFO uvicorn: level: INFO uvicorn.error: level: INFO uvicorn.access: handlers: - access level: INFO propagate: false sqlcode: level: DEBUG question: handlers: - sql_file level: INFO propagate: false