2014-09-05 3 views
0

Tomcat을 통해 배포하려는 jruby/rails (4.1) 앱이 있습니다. 나는 config/application.rb에서Jruby on Rails Tomcat에서 로깅

config.logger = Logger.new(STDOUT) 

을 추가하여 표준 출력을 통해 응용 프로그램 로그를 만들고, 로그 라인 catalina.log에 갈 수 있습니다.

앱 로그가 별도의 Tomcat 로그 파일로 이동하기를 원합니다. 가능한가? 어떻게 구성 할 수 있습니까?

감사합니다.

답변

1

전혀 config.logger을 설정하지 않으면 ... 그것은 서블릿 log

그렇게 간단하게 (그냥 기본값을 그대로)에서 모든 config.logger으로 아무것도하지 않는가는 곳으로 기록됩니다 그것은 (JRuby를 가정 작동합니다 물론). 그렇지 않으면 2 가지 옵션이 있습니다 :

  • 이 경우

  • 하거나 config.logger = Logger.new('logs/rails.log')가 있는지 확인하고 configure JRuby를 랙 위임 (이다 7월 또는 Log4J를 하나가 TC의 경우) 자바 로깅 라이브러리를 사용 당신은 타임 스탬프

    을 포함하는 포맷을 설정

참고 : 첫 번째 경우에 자바 로깅 라이브러리가 정보 레프에 레일의 모든 로그를 받게된다는 점에 유의 el (로거가 "1 대 1"로 매핑되지 않음) ... 이것은 JRuby-Rack 1.2의 향후 릴리스에서 변경 될 수 있습니다.

+0

죄송합니다. 다음 질문에 대한 답변이 명확한 경우 (바람둥이에 대한 경험이 없습니다.) : tomcat 구성에서 배포 된 응용 프로그램에 대한 로그 파일/순환 정책을 설정할 수 있습니까? 또는 tomcat 내부에서 실행되는 각 앱이 자체 로그 파일을 관리해야합니까? – AlejandroVD

+0

물론 가능합니다 ... 첫 번째 사례를 사용하고 바람둥이의 로깅 하위 시스템을 구성해야합니다 (기본값은 배포 된 모든 응용 프로그램에 대해 하루 순환으로 생각합니다 - 시도해보십시오). – kares

+0

좋아 .. 내가 stdout에 로깅을 중지하고/var/log에있는 디렉토리에 로깅을 시작하는 더 간단한 두 번째 옵션을 선택했다. 'application.rb' : config.logger = Logger.new (Rails.root.join ("/ var/log/myapp", Rails.env + ".log"), 5,5 * 1024 * 1024)' ' – AlejandroVD

관련 문제