2
A
回答
2
您可以從您的Ruby腳本調用Linux的tail -number_of_lines file_name
命令,讓它打印控制檯或捕獲輸出,並自己打印出來(如果你需要在打印前做這些方針的東西)
4
看看File::Tail寶石。
1
我們有一個包含日誌文件列表的配置文件;例如,像這樣:
---
- C:\fe\logs\front_end.log
- C:\mt\logs\middle_tier.log
- C:\be\logs\back_end.log
配置文件的格式是一個yaml simple sequence,因此假設我們命名這個文件「settings.yaml」
紅寶石腳本採取每個文件的尾和控制檯輸出可能是這樣的:
require 'yaml'
require 'file-tail'
logs = YAML::load(File.open('settings.yaml'))
threads = []
logs.each do |the_log|
threads << Thread.new(the_log) { |log_filename|
File.open(log_filename) do |log|
log.extend(File::Tail)
log.interval = 10
log.backward(10)
log.tail { |line| p "#{File.basename(the_log,".log")} - #{line}" }
end
}
end
threads.each { |the_thread| the_thread.join }
注:顯示每一行,我想與來自其起源的文件名前綴它,...這對我來說是一個不錯的選擇,但你可以編輯腳本隨你喜歡而改變;對於尾部參數是相同的。
如果您的環境中缺少file-tail,請按照@Mark Thomas在他的回覆中發佈的鏈接進行操作;即您需要:
> gem install file-tail
+0
@codecompleting:我在Microsoft Windows [Version 6.1.7601]上用ruby 1.9.3p125(2012-02-16)[i386-mingw32]測試了這個解決方案。 – 2012-11-16 18:06:13
相關問題
- 1. '部署'寶石紅寶石腳本
- 2. 從紅寶石腳本內部運行git
- 3. 紅寶石運行外部程序停止腳本
- 4. 寶石cmd從紅寶石腳本
- 5. Shell腳本>紅寶石
- 6. 紅寶石文本
- 7. 紅寶石郵件寶石,如何編寫腳本郵件
- 8. 紅寶石:在現有的Ruby進程運行腳本
- 9. 紅寶石有日誌查看器嗎?
- 10. Selenium日誌如何訪問紅寶石?
- 11. 獨立紅寶石腳本中的紅寶石
- 12. 紅寶石退出尾部並繼續按下腳本的下一部分
- 13. 無法再運行OSX上紅寶石
- 14. 有一個紅寶石腳本輸出什麼版本的紅寶石正在運行它
- 15. 如何運行紅寶石寶石的特定版本
- 16. 紅寶石的寶石不能在腳本加載,但在IRB
- 17. 紅寶石日期
- 18. 紅寶石寶石文檔
- 19. 如何在iPad模擬器上運行黃瓜,紅寶石腳本
- 20. 如何每天運行我的腳本x次? (在Linux上的紅寶石)
- 21. 紅寶石寶石自動重新加載配置文件在運行時
- 22. 紅寶石:內部
- 23. 紅寶石:從文本
- 24. 紅寶石在軌道上的寶石
- 25. 錯誤,同時運行在紅寶石
- 26. 紅寶石寶石檢測部署
- 27. 紅寶石副本文件擴展名
- 28. 紅寶石sharepoint上傳文件
- 29. 用紅寶石葡萄文件上傳
- 30. 從PHP運行寶石腳本與寶石
什麼平臺? 「tail」命令對於執行此操作非常方便,並且比自己打開和查找文件要快得多。 – tadman 2011-12-16 18:18:28