實作日誌模組
建立 logger.py
檔。
1 | import logging |
使用如下:
1 | from logger import logger |
輸出如下:
1 | 2024-08-29 23:25:25,665 - root - INFO - Hello, World! |
實作中介層
建立 middleware/logging.py
中介層。
1 | import logging |
修改 main.py
檔,添加 logging
中介層。
1 | from fastapi import FastAPI |
啟動網頁伺服器。
1 | uvicorn main:app --reload --port 8000 |
呼叫 API 端點。
1 | curl http://localhost:8000/api |
輸出如下:
1 | 2024-08-29 23:28:40,989 - root - INFO - {'request_id': 'f2688c87-51b6-4edb-90f2-2d6e67c02bee', 'request': {'method': 'GET', 'url': 'http://localhost:8000/api', 'headers': {'host': 'localhost:8000', 'user-agent': 'curl/8.4.0', 'accept': '*/*'}, 'body': ''}, 'response': {'status_code': 200, 'headers': {'content-length': '15', 'content-type': 'application/json', 'x-request-id': 'f2688c87-51b6-4edb-90f2-2d6e67c02bee'}}} |