【问题标题】:How to enable SQL logging in Aqueduct 3?如何在 Aqueduct 3 中启用 SQL 日志记录?
【发布时间】:2019-01-12 20:50:26
【问题描述】:

在终端中查看执行了哪些请求以及它们需要多长时间对我来说非常有用。 HTTP 请求的日志记录工作正常,但我没有为 SQL 找到类似的功能。 有没有办法使用 config.yaml 或 ApplicationChannel 的 prepare() 全局启用日志记录?

【问题讨论】:

    标签: dart aqueduct


    【解决方案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

    【讨论】:

    • 是的,它目前不是很可配置 - 如果记录器级别正常或低于,您将看到您的查询。如果您对如何控制日志记录有想法,另请参阅此问题:github.com/stablekernel/aqueduct/issues/447
    猜你喜欢
    • 2019-10-31
    • 2018-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多