1
我有一個控制檯應用程序在通過NSLog發佈錯誤代碼的mac上。如何在ruby中運行控制檯應用程序時捕獲NSLog的結果?如何在ruby中捕獲NSLog的輸出?
我試過類似redirecting stderr的方法,但這似乎並沒有辦法。
好的,我會編輯這個清晰。
我有一個爲MacOS編寫的程序,當前通過NSLog報告它的輸出。對於所有意圖和目的,它可以只是有這條線在其main.m
文件:
NSLog(@"Hello world!");
我要拍攝的NSLog的內容。我不能改變程序本身,我只有日誌文件。我想在Ruby中進行一些基於rspec的測試。
現在,我無法使用重定向。任何類型的重定向,如:
@output = `#{theProgramToTest}`
puts @output
導致無輸出。如果我按照前面提到的問題所描述的那樣重新定向stderr,我仍然沒有結果。那麼我怎樣才能捕捉到程序的結果呢?我不想將它們重定向到一個文件。
您需要通過顯示代碼和錯誤給我們提供更多信息。說「這似乎沒有伎倆」是非常模糊的。請參閱http://sscce.org/瞭解我們所需的信息。 –
真的嗎?現在,我無法接受NSLog生成的字符串,並在紅寶石中使用它們。這是一個非常簡單的問題。沒有錯誤。 – mmr
檢查http://stackoverflow.com/questions/7271528/nslog-into-file。 NSLog()通常寫入到Mac的控制檯。您可能可以將結果從'/ private/var/log/system.log'或其他日誌之一中過濾出來,但是當您可以重定向輸出時,這是一個間接路徑。 –