我想爲我的應用程序,這當然日誌到不同的文件中,有人問一個問題定製記錄:Setting up the logger in rails 3Rails 3中的自定義記錄器?
但我希望有一個記錄器,我可以用我自己的類名像撥打:
StatusLogger.info "something happend!!!"
我該怎麼做?
我想爲我的應用程序,這當然日誌到不同的文件中,有人問一個問題定製記錄:Setting up the logger in rails 3Rails 3中的自定義記錄器?
但我希望有一個記錄器,我可以用我自己的類名像撥打:
StatusLogger.info "something happend!!!"
我該怎麼做?
你可以做到這一點與此代碼
logfile = File.open('/path/to/log.log', 'a')
StatusLogger = Logger.new(logfile)
StatusLogger.info 'Hello World!'
你最有可能在初始化文件中配置,或者是你能做到這一點的環境中的文件,如果你想要的。
嘿德文,謝謝,當我嘗試這個似乎工作,但沒有在日誌文件中,想法? – 2011-06-03 23:32:51
嗯....嘗試添加logfile.sync = true,以便文件被刷新。 – 2011-06-03 23:47:33
感謝您的分享。 – 2013-01-25 20:10:52
你的意思是,就像在application.rb中:
StatusLogger = ActiveSupport::BufferedLogger.new(Rails.root.join('log/status.log'))
這個代碼blob在一個名爲config/initializer/log.rb的初始化程序中,例如 – pjammer 2013-03-05 15:41:27
注意:只要記得將它分配給一個變量,就可以將它放在應用程序的任何位置,而不僅僅是在application.rb中(而不是像這裏所示的常量) – 2013-04-18 03:11:23
爲什麼要做到這一點,它的要好得多有一個日誌文件,並解析它找到事件。 – 2011-06-03 22:55:14
我不知道,我想這是一個很好的觀點,但就像我有這些通過cron運行的rake任務,就像我想在發生這種事情時記錄一樣,所以我可以回去看看它們發生的時間以及運行的任務的狀態。什麼是解決這個問題的好方法? – 2011-06-03 23:59:56
不會cron通過電子郵件將cronjob的輸出發送到根目錄?無論如何,這似乎是處理手頭狀況的好方法。當你習慣於處理web應用程序時,Cronjobs很難診斷和管理。也許問serverfault? – 2011-06-04 00:46:38