ruby - 使用 Logstash 管道计算日志中的行号
问题描述
想象一下有一些这样的日志
Jun2012|16:52:39|10.0.0.1|log|keyinst||daemon|inbound|VPN-1 & FireWall-1|Certificate initialized|
Jun2012|17:52:39|10.0.0.1|log|keyinst||daemon|inbound|VPN-1 & FireWall-1|Certificate initialized|
Jun2013|16:52:39|10.0.0.1|log|keyinst||daemon|inbound|VPN-1 & FireWall-1|Certificate initialized|
Jun2012|18:52:39|10.0.0.1|log|keyinst||daemon|inbound|VPN-1 & FireWall-1|Certificate initialized|
Jun2012|19:52:39|10.0.0.1|log|keyinst||daemon|inbound|VPN-1 & FireWall-1|Certificate initialized|
.....我可以在编辑器中看到行号,但我想计算每行的行号并制作它的字段。输入输出放在一个json中
{...,"line_num" : 23, ...}
我怎样才能做到这一点?有人可以举个例子吗?
解决方案
$.
Ruby 有一个具有行号的特殊变量。
File.foreach(logfile).each do |line|
puts "#{$.}: #{line}"
end
推荐阅读
- php - 在 WooCommerce 中获取通过信用卡支付的订单
- binary-search-tree - 推断插入 BST 的顺序
- pandas - 获取系列中小于或等于的条目数
- javascript - 在商店Vue js中更新后视图没有更新
- sas - SAS vlookup - 查看所有数据不仅加入
- php - 如果订单商品属于特定产品类别,则结帐重定向后的 Woocommerce
- java - 未使用 startService 调用 onStartCommand
- git - github历史生成时间太长
- python - 使用python从excel表格中提取颜色
- sql-server - TSQL-JOIN:在联接中将一个表中不存在的值显示为零