微服务应用构建:日志、交互与领域建模
1. 集中式日志机制
1.1 日志模块选择
在企业级应用中,日志是至关重要的。对于部署在单台服务器上的单体应用,日志记录通常是将服务事务的日志消息写入单个文件。然而,在独立的微服务架构中,尤其是当这些服务部署在不同的服务器或 Docker 容器中时,日志记录变得复杂。Python 的内置 logging 模块在支持异步和同步 API 服务的 FastAPI 实例上使用时,会产生错误日志。为了避免这个问题,我们选择使用 Loguru 扩展,它能完全支持 FastAPI 框架。安装 Loguru 可以使用以下命令:
pip install loguru
1.2 配置 Loguru
Loguru 是一个简单易用的日志扩展,即使不进行太多配置,也可以使用其默认的 sys.stderr 处理程序进行日志记录。为了将所有日志消息存储在一个日志文件中,我们需要在顶级应用的 main.py 组件中,在 FastAPI 实例化之后添加以下代码:
from loguru import logger
from uuid import uuid4
app = FastAPI()
app.include_router (university.router,
dependencies=[Depends(call_api_gateway)],
prefix='/ch04')
logger
超级会员免费看
订阅专栏 解锁全文
171万+

被折叠的 条评论
为什么被折叠?



