2014-09-05 74 views
0

我有一個我想通過Tomcat部署的jruby/rails(4.1)應用程序。我通過標準輸出製作該應用程式日誌中加入Jruby on Rails使用Tomcat進行日誌記錄

config.logger = Logger.new(STDOUT) 
config/application.rb

和日誌線將要catalina.log

我們希望應用程序日誌轉到單獨的Tomcat日誌文件。可能嗎?它如何配置?

謝謝!

回答

1

如果不設置config.logger在所有...它會記錄到的servlet log

所以根本就沒有做任何事情與config.logger(僅保留默認值),它應該工作(假定的JRuby當然 - 當然)。否則有2個選項:

  • 使用Java日誌庫(在TC的情況下,要麼是JUL或Log4J的)和configure JRuby的機架下放在這種情況下

  • 或者乾脆config.logger = Logger.new('logs/rails.log')確保您設置了格式,包括時間戳

注:知道,在第一種情況下的Java日誌庫將在信息列弗接收來自Rails的所有日誌el(記錄器未映射爲「1對1」)......這可能會在未來的JRuby-Rack 1.2版本中發生變化。

+0

對不起,如果以下問題的答案很明顯(我沒有tomcat的經驗):我可以在tomcat配置中爲已部署的應用程序設置日誌文件/循環策略嗎?或者在tomcat中運行的每個應用程序都必須照顧他們自己的日誌文件? – AlejandroVD 2014-09-08 15:16:50

+0

嗯,是的,你可以...你需要使用第一種情況,並配置tomcat的日誌子系統(我認爲默認情況下每個部署的應用程序每天輪換 - 試試看)。 – kares 2014-09-09 06:02:19

+0

好吧..我選擇了更簡單的第二個選項,停止記錄到標準輸出並開始登錄到/ var/log目錄。在'application.rb'中:'config.logger = Logger.new(Rails.root.join(「/ var/log/myapp」,Rails.env +「.log」),5,5 * 1024 * 1024) ' – AlejandroVD 2014-09-09 13:53:44