我正在使用Rack + ActiveRecord + Grape API。
运行API时,如何在终端中显示所有ActiveRecord SQL查询以及日志文件?
我在ActiveRecord::Base.logger = Logger.new(STDOUT)
中尝试了config.ru
,但它只显示了一个SQL查询。
我的API
module V1
class DemoAPI < Grape::API
resource :demo do
desc 'Demo API'
get '/' do
User.first
User.all
{ demo: 'Welcome' }
end
end
end
end
文件 config.ru
ActiveRecord::Base.logger = Logger.new(STDOUT)
当我运行rackup
并向API发出请求时,我明白了:
rackup
[2016-06-12 23:09:45] INFO WEBrick 1.3.1
[2016-06-12 23:09:45] INFO ruby 2.2.4 (2015-12-16) [x86_64-darwin15]
[2016-06-12 23:09:45] INFO WEBrick::HTTPServer#start: pid=1442 port=9292
D, [2016-06-12T23:09:48.682742 #1442] DEBUG -- : User Load (1.6ms) SELECT "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT 1
::1 - - [12/Jun/2016:23:09:48 +0700] "GET /api/v1/demo HTTP/1.1" 200 19 0.0931
ActiveRecord SQL查询只显示User.first
,而不显示User.all
我还想在日志文件中包含ActiveRecord SQL查询。
答案 0 :(得分:0)
ActiveRecord :: Base.logger = Logger.new(STDOUT) 但不是在config.ru。
在控制台中运行它:)