uvicorn logging instead middleware
This commit is contained in:
9
run.py
9
run.py
@@ -4,7 +4,14 @@ import asyncio
|
|||||||
from server.database import db
|
from server.database import db
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
asyncio.run(db.main())
|
asyncio.run(db.main())
|
||||||
uvicorn.run("server.backend.endpoints:api", host="127.0.0.1", port=8000, reload=True)
|
uvicorn.run(
|
||||||
|
"server.backend.endpoints:api",
|
||||||
|
host="127.0.0.1",
|
||||||
|
port=8000,
|
||||||
|
reload=True,
|
||||||
|
log_level="info",
|
||||||
|
access_log=True
|
||||||
|
)
|
||||||
|
|
||||||
#ps aux | grep uvicorn
|
#ps aux | grep uvicorn
|
||||||
# kill -9 pid
|
# kill -9 pid
|
||||||
@@ -28,15 +28,15 @@ api.add_middleware(
|
|||||||
allow_headers=headers,
|
allow_headers=headers,
|
||||||
)
|
)
|
||||||
|
|
||||||
@api.middleware("http") #Логирование заходов перед всеми endpoints
|
# @api.middleware("http") #Логирование заходов перед всеми endpoints / возможно не нужен, так как то же самое делает uvicorn
|
||||||
async def log_requests(request: Request, call_next):
|
# async def log_requests(request: Request, call_next):
|
||||||
ip = request.client.host #ip
|
# ip = request.client.host #ip
|
||||||
ua = request.headers.get("user-agent") #browser
|
# ua = request.headers.get("user-agent") #browser
|
||||||
method = request.method #method
|
# method = request.method #method
|
||||||
url = str(request.url) #url
|
# url = str(request.url) #url
|
||||||
print(f"[{method}] {url} from {ip} ({ua})")
|
# print(f"[{method}] {url} from {ip} ({ua})")
|
||||||
response = await call_next(request)
|
# response = await call_next(request)
|
||||||
return response
|
# return response
|
||||||
|
|
||||||
@api.get("/protected") #test
|
@api.get("/protected") #test
|
||||||
async def protected(current_user: str = Depends(JWT.current_user)):
|
async def protected(current_user: str = Depends(JWT.current_user)):
|
||||||
|
|||||||
Reference in New Issue
Block a user