【发布时间】:2011-05-19 00:05:49
【问题描述】:
这个问题是这个question 的后续问题,我应该把这个代码放在哪里?
connection = ActiveRecord::Base.connection
class << connection
alias :original_exec :execute
def execute(sql, *name)
# try to log sql command but ignore any errors that occur in this block
# we log before executing, in case the execution raises an error
begin
file = File.open(RAILS_ROOT + "/log/sql.txt",'a'){|f| f.puts Time.now.to_s+": "+sql}
rescue Exception => e
;
end
# execute original statement
original_exec(sql, *name)
end
end
我已经尝试将它放在模型中,但是当我执行一些 sql 查询时会发生什么,然后它返回“stack level is to deep”错误。
【问题讨论】:
标签: sql ruby-on-rails logging