如何启用数据库查询日志

马修•王
2023-01-22 11:06

如果你想查看Xray向数据库发送的DB查询以及响应时间,你可以为各种微服务启用TRACE级别的日志记录。注意,这个日志记录非常详细,应该只在需要时临时启用。

您可能希望启用这种查询日志记录来调试性能问题。例如,您可能会注意到在索引某个包时,DB CPU使用率急剧增加,索引挂起,但您不知道是什么导致了这种行为。启用查询日志记录可能会显示查询花费了很长时间,这为您指明了下一步要研究的正确方向。

查询日志的一个例子是:2022-05-02T20:13:54.377Z [jfxan] [TRACE] [89be12fea2f6635f] [sql:787] [main] DB START TxNamedExecContext:
更新high_availability
SET last_heartbeat =:last_heartbeat
WHERE node_id =:node_id and ms_type =:ms_type and last_heartbeat >:heartbeat_limit
2022-05-02T20:13:54.378Z [jfxan] [TRACE] [89be12fea2f6635f] [sql:791] [main] DB END TxNamedExecContext:
更新high_availability
SET last_heartbeat =:last_heartbeat
WHERE node_id =:node_id and ms_type =:ms_type and last_heartbeat >:heartbeat_limit - took 1.675202ms

解决方法:

要启用TRACE日志,您可以修改$JFROG_HOME/var/etc/system. log文件。Yaml,如下所示。修改日志级别不需要重新启动即可生效。
服务器:
日志:
应用程序:
水平:跟踪
坚持:
日志:
应用程序:
水平:跟踪
分析:
日志:
应用程序:
水平:跟踪
索引器:
日志:
应用程序:
水平:跟踪