[loggers] keys=root, gunicorn.error, gunicorn.access,uvicorn.error,uvicorn.access, [handlers] keys=error_file, access_file [formatters] keys=generic, access, error [logger_root] level=DEBUG handlers=access_file [logger_] level=INFO handlers=access_file qualname= propagate=0 [logger_uvicorn.error] level=ERROR handlers=error_file qualname=uvicorn.error propagate=0 [logger_uvicorn.access] level=INFO handlers=access_file qualname=uvicorn.access propagate=0 [logger_gunicorn.error] level=ERROR handlers=error_file qualname=gunicorn.error propagate=1 [logger_gunicorn.access] level=INFO handlers=access_file qualname=gunicorn.access propagate=1 [handler_error_file] class=logging.handlers.RotatingFileHandler formatter=error kwargs={"filename": "./log/error.log", "maxBytes": 1024 * 1024 * 10, "backupCount": 10, "delay": True} [handler_access_file] class=logging.handlers.RotatingFileHandler formatter=access kwargs={"filename": "./log/access.log", "maxBytes": 1024 * 1024 * 10, "backupCount": 10, "delay": True} [formatter_generic] format=%(asctime)s %(pathname)s(%(lineno)d): %(levelname)s %(message)s datefmt=%Y-%m-%d %H:%M:%S class=logging.Formatter [formatter_access] format=[%(asctime)s] %(levelname)s in %(module)s: %(message)s class=logging.Formatter [formatter_error] format=[%(asctime)s] %(levelname)s in %(module)s: %(message)s class=logging.Formatter