2009-12-17 2 views
2

나는 warbler가있는 레일 애플리케이션을 패키징하고 있습니다. 앱 별 로깅을 원합니다. 나는 log4j와 commons-loggin jar를 WEB-INF/lib 디렉토리에 추가했고, WEB-INF/classes 디렉토리에 log4j.properties를 추가하려고한다. 문제는 또한 환경 특정 로깅을 원하므로 내 준비/프로덕션은 내 개발자보다 다른 속성 (즉, 디버그 대신 INFO)을 사용합니다. 난 그냥 할 수 없습니다 :Warbler config.java_classes and 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

자신을 위해 답을 찾을 수있어서 기쁩니다! 자신의 질문에 대답 할 때 더 많은 점수를 얻습니까? –

0

추측 나는 그저 warble 파일 자체를 더 자세히 읽어야한다. java_classes에 대한 경로 맵을 구성 할 수 있습니다. 여기 내가 사용하는 작업은 다음과 같습니다

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

내가 찾은 유일한 문제는이 실제로 더 이상 WEB-INF/classes 디렉토리에 log4j.properties를 넣어하지 않습니다. 이제는 루트에 넣습니다. 이상한 보인다 것은 구체적으로 문서에 말한다 :

하나 이상의 pathmaps는 자바 클래스가 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