[英]Rails rake task on Heroku: Disable displaying the SQL log on the screen
我在Heroku Cedar堆棧中運行rails 3.2應用程序。
當我在本地執行涉及查詢數據庫的rake任務時,屏幕日志不會顯示SQL查詢的詳細信息。
另一方面,當我在Heroku部署的應用程序 (heroku run rake ...) 上運行相同的任務時 ,rake任務執行的每個查詢都有一個詳細的輸出。 我想禁用屏幕上顯示的這些細節 。 可能嗎?
謝謝您的幫助!
我建議以detached
模式運行這些任務。 這將阻止終端中的輸出,但仍然有輸出(寫入STDOUT
或STDERR
任何內容)到Heroku日志文件。
這將通過以下方式運行:
heroku run:detached rake ...
有關於此的良好文檔也可以幫助您。 希望這是你正在尋找的。
如果將此代碼放在rake任務中,則可以禁用日志:
dev_null = Logger.new("/dev/null")
Rails.logger = dev_null
ActiveRecord::Base.logger = dev_null
您可以將代碼包裝在Rails.logger.silence
塊中:
task thing_doer: :environment do
Rails.logger.silence { ThingDoer.call }
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.