Славка config.java_classes и log4j.properties - PullRequest
2 голосов
/ 17 декабря 2009

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

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

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

Ответы [ 2 ]

3 голосов
/ 17 декабря 2009

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

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

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

0 голосов
/ 17 декабря 2009

Полагаю, мне стоит просто прочитать дальше в самом файле 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, но я сделал это. Итак, наконец, это сработало:

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

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

...