爲lib目錄中保存的代碼配置日誌記錄的最佳/最簡單的方法是什麼?Rails:記錄lib目錄中的代碼?
33
A
回答
37
有兩種方法去做:
假定你的庫是自包含的,有一個模塊,可以在
logger
屬性添加到您的模塊,並使用無處不在你的庫代碼。然後,您既可以使用在
config/initializers/
的初始化,或config/environment.rb
的config.after_initialize
塊初始化記錄器,像這樣:require 'mylibrary' MyLibrary.logger = Rails.logger
這仍然將允許您使用功能完備的庫從外面的腳本軌。有時候,這很好。
如果在沒有Rails的情況下使用您的庫確實沒有任何意義,那麼您也可以直接使用
Rails.logger
。
在這兩種情況下,您都在處理標準的Ruby Logger。另外請記住,理論上,記錄器可能是nil
。
16
我們可以直接在Rails中使用Rails logger,參見下面的代碼片段。
require 'logger'
Rails.logger.info "Hay..!!! Im in lib"
Rails.logger.debug "Debugging this object from Lib #{object.inspect}"
Rails.logger.error "This is an error..."
+3
最後,我意識到我需要
相關問題
- 1. Rails lib目錄
- 2. Rails:使用Sublime Text測試Ruby代碼的lib目錄中的代碼2
- 3. Rails的lib目錄中的繼承
- 4. 在rails lib目錄中的模塊
- 5. Rails 3中沒有看到「lib」目錄
- 6. Grails中的lib目錄
- 7. 從lib子目錄
- 8. Rails.root在lib目錄
- 9. 從lib目錄中的訪問模式在Rails 3項目
- 10. G ++搜索/lib/../lib/,然後/ lib目錄/
- 11. 在'lib'目錄的子目錄中擴展Rails時遇到問題
- 12. 記錄巨大的代碼
- 13. Tomcat無效的lib目錄
- 14. 在Rails 3.1中,「lib」目錄中的庫不再是「require」d
- 15. 在EF代碼中記錄用戶更改的歷史記錄
- 16. Rails:無法訪問我的lib目錄中的模塊
- 17. 訪問/ lib目錄中的Rails模塊的問題
- 18. 包含js/css模塊在供應商/ lib目錄中的Rails
- 19. 如何從rails lib目錄中的模板創建文件?
- 20. 如何覆蓋lib目錄中的rails引擎文件?
- 21. 從lib目錄模塊中使用類 - 的Rails 3
- 22. 訪問lib目錄中的模塊(Ruby on rails)
- 23. 記錄代碼在Xcode 8
- 24. 記錄代碼塊以便在bash中記錄文件
- 25. modprobe:FATAL:在目錄/ lib/modules/
- 26. Tomcat - > Glassfish/lib目錄
- 27. Tomcat中的jar文件7 lib目錄
- 28. github倉庫中lib目錄的含義
- 29. 無法使用/ lib目錄中的包
- 30. lib目錄中jar文件的位置
謝謝,這正是我一直在尋找的。 – drt 2010-06-05 19:52:30
注:此答案包含不正確的信息,編輯不希望我解決它們。除非(也許)你使用2.0以上的Rails,否則你不會「處理標準的Ruby Logger」。 Rails現在使用[ActiveSupport :: BufferedLogger](http://apidock.com/rails/ActiveSupport/BufferedLogger)。如果您決定實例化一個單獨的記錄器(例如)包含在Rails項目中的cron作業,以避免「污染」標準的Rails日誌。在這種情況下,請確保使用'ActiveSupport :: BufferedLogger.new'而不是'Logger.new'。我試過了,但沒有奏效。 – Lambart 2013-11-14 01:38:46