如何在Aqueduct 3中启用SQL日志记录?

时间:2019-01-12 20:50:27

标签: dart aqueduct

对于我来说,在终端中查看执行了哪些请求以及花费了多长时间将非常有用。 HTTP请求的记录工作正常,但是我没有找到类似的SQL函数。 是否有一种方法可以使用config.yaml或在ApplicationChannel的prepare()中启用全局日志记录?

1 个答案:

答案 0 :(得分:1)

好像我发现了肮脏的黑客解决方案:

Future prepare() async {
  logger.onRecord.listen((rec) => print("$rec ${rec.error ?? ""} ${rec.stackTrace ?? ""}"));
  logger.parent.level = Level.FINE;
  ...
}

我们需要将日志级别设置为高于默认值INFO。所有SQL查询都在FINE级别记录其请求。

我希望该设置应该能够从config.yaml加载,但是我没有发现任何类似的东西。

有关日志级别的更多信息,请参见here