小编典典

使用Rails 4在日志中显示SQL查询

sql

我通过终端“ Terminator”和我的shell“ Fish Shell”在Ubuntu 14.04上将Rails 4.0.4与Ruby
2.1和Thin 1.6.2一起使用。

在开发模式下启动Rails服务器时,日志中没有SQL查询,仅加载了JS和HTML文件。

我正在寻找类似的东西:

User Load (3.0ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 3 ORDER BY "users"."id" ASC LIMIT 1
(2.0ms)  SELECT COUNT(*) FROM "users" WHERE (driver_register_state_cd = -2)

阅读 356

收藏
2021-03-17

共1个答案

小编典典

rails控制台从不写入日志文件,但是您可以很轻松地实现它,例如,如果在启动rails控制台后执行以下操作

ActiveRecord::Base.logger = Logger.new STDOUT

rails将所有SQL语句记录到stdout,从而在终端中显示它们。由于Logger.new接受任何流作为第一个参数,因此您可以让它写入railsdevelopment.log:

ActiveRecord::Base.logger = Logger.new File.open('log/development.log', 'a')
2021-03-17