2014-02-17 75 views
0

是否有可能在Ruby on Rails中只記錄生成的SQL命令並將其保存到單獨的文件中?Ruby on Rails SQL日誌

我仍然處於開發模式,並希望將所有SQL命令保存在單獨的日誌中。

我檢查了development.log文件,但他們也節省像

"Started GET "/assets/application.css" for 127.0.0.1 at 2014-02-17 16:41:47 +0800, etc.

數據我期待可以創建一個單獨的日誌文件僅適用於SQL或刪除這些其他線路只留下SQL命令。

這可能嗎?謝謝。

+0

http://stackoverflow.com/questions/1629351/log-every-sql-query-to-database-in- rails –

回答

1

如果你使用活動記錄,您可以覆蓋活動記錄記錄:

ActiveRecord::Base.logger = Logger.new("#{Rails.root}/log/sql_log.log") 
+0

我不知道如何實現。你能詳細說明我需要添加這條線嗎? –

+0

哦,我將它添加到了development.rb中,它工作正常!謝謝你Intrepidd! –

+0

關於sql日誌記錄,看起來SQL日誌已被轉移到sql_log.log,但您如何在2014-02-17 08:50包含例如 'Started GET「/ controller/index」for 127.0.0.1 :45 +0800 連接到由database.yml指定的數據庫' 它剛好在SQL命令之前,因爲這將包括執行SQL命令的日期和時間。 –