我在Ubuntu 14.04上通过我的终端“终结者”和我的shell“Fish Shell”在Ruby 2.1和Thin 1.6.2上使用Rails 4.0.4。
当我在开发模式下启动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)
答案 0 :(得分:25)
rails控制台永远不会写入日志文件,但您可以非常轻松地实现它,例如,如果您在启动rails控制台后执行以下操作
ActiveRecord::Base.logger = Logger.new STDOUT
rails会将所有SQL语句记录到stdout,从而在终端中显示它们。由于Logger.new接受任何流作为第一个参数,你可以让它写入rails development.log:
ActiveRecord::Base.logger = Logger.new File.open('log/development.log', 'a')
答案 1 :(得分:4)
我通过创建初始化文件得到了我想要的东西:
# initializers/sql_logging.rb
ActiveRecord::Base.logger = ActiveSupport::Logger.new(STDOUT)
这似乎也可以防止日志记录中出现丑陋的时间戳。
答案 2 :(得分:3)
将config / environments / development.rb中的config.log_level
设置为:debug
并重启本地服务器,控制台:
config.log_level = :debug