2009-12-17 46 views
2

我正在用鶯打包一個rails應用程序,我想要特定於應用程序的日誌記錄。我已經將log4j和commons-loggin jar添加到了WEB-INF/lib目錄,並且我想將log4j.properties添加到WEB-INF/classes目錄。問題是,我也想環境特定的日誌記錄,所以我的分段/生產使用不同的屬性(即INFO而不是DEBUG)比我的devel。我不能只是做一個:Warbler config.java_classes和log4j.properties

config.java_classes = FileList["lib/log4j-#{RAILS_ENV}.properties"] 

因爲Tomcat的似乎尋找特定文件log4j.properties。有沒有什麼辦法讓鳴鳥重新命名爲log4j.properties?還是有更好的應用程序特定的,特定於環境的日誌記錄機制?

回答

3

而對於最後的答案:那麼最後的話,這個工作。 RAILS_ENV似乎並不鶯工作,而是通過docs上囀配置看,有一個包含rails.env,修改我的代碼的文件拉到像webxml屬性:

config.java_classes = FileList["lib/properties/log4j.properties.#{config.webxml.rails.env}"] 

工作就像一個魅力!

+0

很高興您能爲自己找出答案!你回答自己的問題得到更多積分嗎? – 2010-01-27 17:43:01

0

我猜應該只是在warble文件中進一步閱讀。您可以爲java_classes配置路徑圖。下面是我用什麼:

config.java_classes = FileList["lib/properties/log4j.properties.#{RAILS_ENV}"] 
config.pathmaps.java_classes << "%n" 

我發現的唯一的問題是,這實際上並不把log4j.properties在WEB-INF/classes目錄下了。它現在把它放在根。似乎很奇怪,它明確說,在文檔:

一個或多個路徑映射定義的Java類應該如何被複制到WEB-INF/classes中

我不認爲我必須手動添加該WEB-INF/classes路徑,但我做到了。使用文件log4j.properties

config.java_classes = FileList["lib/properties/log4j.properties.#{RAILS_ENV}"] 
config.pathmaps.java_classes << "WEB-INF/classes/%n" 

#{} RAILS_ENV在lib/properties目錄

+0

從頭開始。看起來Warbler沒有正確地獲得rails_env,我正在使用warbler(0.9.14)。在我的cap部署中,我適當地設置了rails_env,不知道這裏發生了什麼,但總是得到log4j.properties.development – brad 2009-12-17 18:47:31