2013-10-02 3 views
1

STDERR을 데몬으로 실행되는 jruby 프로그램 용 파일로 리디렉션하려고합니다. 전에 MRI에서 아무런 문제없이이 작업을 수행했지만 jruby에서 퍼즐의 일부가 누락 된 것 같습니다. MRI (2.0.0-P0)에서jruby에서 STDERR을 리디렉션

log = File.new('/home/my_user/test_log.log', "w") 
$stderr.reopen log 
$stderr.puts "writing to log!" 

require 'some_broken_thing' 

로그 내용 : JRuby에서의

/path/to/ruby/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- some_broken_thing (LoadError) 
    from /path/to/ruby/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require' 
    from test.rb:5:in `<main>' 
writing to log! 

로그 내용 (1.7.4) : 난 그냥 확인하기 위해 노력하고있어

writing to log! 

깨진 요구 사항이나 충족되지 않은 종속성과 같은 어리석은 것들이 콘솔에 발사되는 대신 어딘가에 기록됩니다. 내가 뭘 잘못하고 있는지 모르겠다. $ stderr.reopen을 호출하면 깨진 요구 사항의 오류 출력이 콘솔에 표시되지 않지만 좋은 결과는 나타나지 않지만 결코 좋지 않습니다.

+0

으로 수정되었습니다. jruby 버그 https://github.com/jruby/jruby/issues/1082로 후속 조치를 찾았습니다. 제기 해 주셔서 감사합니다. – inger

답변