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. 并行运行脚本红宝石
- 3. 在我的网站上运行这个红宝石脚本
- 4. 从红宝石脚本内部运行git
- 5. 红宝石运行外部程序停止脚本
- 6. 宝石cmd从红宝石脚本
- 7. 阅读红宝石文本文件行
- 8. 运行和红宝石文件
- 9. 更改日志在Rails /红宝石
- 10. 红宝石 - 如何运行Windows cmd上的红宝石代码
- 11. 在一个文件中换行的红宝石脚本
- 12. 红宝石宝石不会运行
- 13. Shell脚本>红宝石
- 14. bash脚本红宝石
- 15. 红宝石脚本错误
- 16. 红宝石文本
- 17. 红宝石Win32文件只读标志
- 18. 红宝石邮件宝石,如何编写脚本邮件
- 19. 红宝石:在现有的Ruby进程运行脚本
- 20. Selenium日志如何访问红宝石?
- 21. 红宝石有日志查看器吗?
- 22. 如何运行红宝石
- 23. 无法再运行OSX上红宝石
- 24. 独立红宝石脚本中的红宝石
- 25. 将红宝石从红宝石传递给bash脚本?
- 26. 有一个红宝石脚本输出什么版本的红宝石正在运行它
- 27. 红宝石退出尾部并继续按下脚本的下一部分
- 28. 如何运行红宝石宝石的特定版本
- 29. 红宝石记录器 - 何时关闭日志文件
- 30. 每个线程的日志文件红宝石
什么平台? “tail”命令对于执行此操作非常方便,并且比自己打开和查找文件要快得多。 – tadman 2011-12-16 18:18:28