2014-02-20 2 views
0

SSHKit에 의해 호출되는 레이크 태스크에서 정보를 출력하고 싶지만 어떻게해야하는지 알 수 없습니다. SSHKit에 의해 호출 된 레이크 태스크에서 디스플레이 출력

내가 다음 레이크 작업을 말해봐 : 나는 실행하는 경우

require 'sshkit/dsl' 

task :hello => :environment do 
    puts "Hello world" 
end 

task :sshkit_hello => :environment do 
    run_locally do 
    rake "hello" 
    end 
end 

이 : 그 자체에 인사 작업을 나는 "안녕하세요!"문을 참조하십시오. 그러나 sshkit 작업에서 호출하고 SSHKit 정보를 얻습니다. SSHKit에서 호출 할 때 나타나는 첫 번째 레이크 작업에 대한 정보를 어떻게 작성할 수 있습니까?

rake hello 
=> Hello world 

rake sshkit_hello 
=> INFO [f0857f14] Running /usr/bin/env rake hello on 
=> INFO [f0857f14] Finished in 6.107 seconds with exit status 0 (successful). 

는 EDIT1 :

난 당신이 기본 터미널 출력을 얻기 위해 다음과 같은 추가 할 수있는 것으로 나타났습니다 :

SSHKit.config.output = $stdout 

하지만를 다시 출력되는 정보는 동일합니다 - 당신을 알려줍니다 그것은 'rake hello'를 실행하지만 'rake hello'의 출력은 실행하지 않습니다.

rake sshkit_hello 
=> rake hello 
+0

그것은 추가 정보에 : 그것은 두 번째 레이크 작업에 박았 문을 보여주기 위해서는 디버그 : 내가 실제로 할 필요가 무엇

는에 output_verbosity을 변경했다? https://github.com/capistrano/sshkit#output-handling –

+0

나는 그 일을 겪어 왔고 그것이 어떻게 작동 하는지를 이해하지 못했습니다. SSHKit.config.output = SSHKit.config.formatter.new ($ stdout)를 추가하는 것만으로 포매터 메서드가 이제는 private 메서드이기 때문에 현재 순간적으로 파열됩니다. 그래서 문서가 업데이트가 필요하거나 다른 방법이 있습니다 ... –

+0

오픈 이슈를 살펴 보았지만 비슷한 것을 볼 수는 없지만 SSHKit.config.formatter는 분명히 비공개이므로 새로운 이슈를 열어 볼 수 있습니다. 또한 공개 문제 (및 반복되는 문제)의 수를 살펴보면이 보석을 매우 신뢰할만한 것으로 간주하지 않을 것입니다. –

답변

3

해결!

SSHKit.config.output_verbosity = :debug 

rake sshkit_hello 
=> INFO [6dd1bbf7] Running bundle exec rake hello on 
=> DEBUG [6dd1bbf7] Command: bundle exec rake hello 
=> DEBUG [6dd1bbf7]  Hello World! 
=> INFO [6dd1bbf7] Finished in 6.596 seconds with exit status 0 (successful).