2009-12-17 5 views
2

Я собираю приложение для рельсов с камышевою, и я хочу, чтобы приложение регистрировалось в определенном порядке. Я добавил log4j и commons-loggin jar в каталог WEB-INF/lib, и я хочу добавить log4j.properties в каталог WEB-INF/classes. Проблема в том, что я также хочу регистрировать специфику среды, поэтому моя постановка/производство использует разные свойства (то есть INFO вместо DEBUG), чем мое развитие. Я не могу просто сделать:Warbler config.java_classes и log4j.properties

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

потому, что Tomcat, кажется, ищет конкретный файл log4j.properties. Есть ли способ заставить warbler переименовать этот файл только log4j.properties? Или есть лучший механизм специфического для приложения специфического ведения журнала?

ответ

3

И для окончательного ответа.. RAILS_ENV не похож на работу в камышевке, но, глядя через docs на трели конфигурации, есть атрибут webxml, который содержит rails.env, изменяя свой код, чтобы вытащить файл как:

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

Работал как шарм!

+0

Рад, что вы смогли решить ответ самостоятельно! У вас больше очков для ответа на свои вопросы? –

0

Думаю, я должен просто читать дальше в самом файле warble. Вы можете настроить pathmaps для java_classes. Вот что я использовал:

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

Единственная проблема, я обнаружил, что это на самом деле не поставил log4j.properties в каталоге WEB-INF/классов больше. Теперь он помещает его в Корень. Кажется странным, что он определенно говорит в документации:

один или несколько pathmaps определении того, как классы Java должны быть скопированы в WEB-INF/классы

Я не думаю, что я должен был бы добавьте в этот путь WEB-INF/classes вручную, но я это сделал. Таким образом, в конце концов, то, что это работает:

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

с использованием файлов log4j.properties # {} RAILS_ENV в каталоге Lib/свойства

+0

царапина это. Похоже, что Warbler не получает rails_env правильно, я использую warbler (0.9.14). В моем развертывании шапки я установил rails_env соответствующим образом, не уверен, что здесь происходит, но он всегда получает log4j.properties.development – brad

Смежные вопросы