uvicorn自定义日志

INFO: 127.0.0.1:7225 - "POST /app HTTP/1.1" 200 OK

现在给这个日志加时间:

import asyncio
import importlib.util
import logging
import uvicorn
from fastapi import FastAPI
from starlette.responses import JSONResponse
app = FastAPI()


@app.get("/")
async def root():
    return {"message": "Hello World"}


@app.post("/app")
async def check_ticket(data: dict):
    return JSONResponse(content={"code":0, "msg": data})

LOGGING_CONFIG = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'default': {
            '()': 'uvicorn.logging.DefaultFormatter',
            'fmt': '%(levelprefix)s %(message)s',
            'use_colors': None,
        },
        'access': {
            '()': 'uvicorn.logging.AccessFormatter',
            'fmt': '%(asctime)s - %(levelprefix)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',
        },
    },
    'loggers': {
        'uvicorn': {
            'handlers': [
                'default',
            ],
            'level': 'INFO',
        },
        'uvicorn.error': {
            'level': 'INFO',
        },
        'uvicorn.access': {
            'handlers': [
                'access',
            ],
            'level': 'INFO',
            'propagate': False,
        },
    },
}

if __name__ == "__main__":
    uvicorn.run(app, host="127.0.0.1", port=8888,log_config=LOGGING_CONFIG)

image

遂断定与FastAPI返回无关,网络层问题。

posted @ 2023-07-07 16:09  anyiya  阅读(167)  评论(0编辑  收藏  举报