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

jon*_*ton 4 elixir ecto phoenix-framework

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

Dog*_*ert 14

Ecto使用级别记录SQL查询:debug.默认情况下,Logger级别设置为:warnin config/test.exs,这将完全忽略:debug级别日志.您可以降低级别以:debug查看Ecto执行的SQL查询.在config/test.exs,改变:

config :logger, level: :warn
Run Code Online (Sandbox Code Playgroud)

config :logger, level: :debug
Run Code Online (Sandbox Code Playgroud)

然后跑mix test.

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