如何查看在Ecto测试期间执行的SQL?

时间:2017-02-14 21:00:46

标签: elixir phoenix-framework ecto

使用mix test ...运行Ecto测试时,不会显示执行的SQL。据我所知,它也没有记录到任何文件。我怎么能看到它? (我使用Ecto作为Phoenix应用程序的一部分。)

2 个答案:

答案 0 :(得分:12)

Ecto记录级别为:debug的SQL查询。默认情况下,:warn中的记录器级别设置为config/test.exs,这将完全忽略:debug级别日志。您可以将级别降低到:debug以查看Ecto执行的SQL查询。在config/test.exs中,更改:

config :logger, level: :warn

config :logger, level: :debug

然后运行mix test

您还可以按照:loggers说明here更改Ecto记录查询的级别。

答案 1 :(得分:1)

如果其他人遇到即使在将记录器级别设置为 :debug 后仍然看不到它们的问题,可能是您已将 ExUnit 配置为 capture_logs(可能传递给 start/1)