10:00:43.343423 I'm a friendly log message. There are 5 cats, and 7 dogs. We are in state "SUCCESS".
我们需要逐行阅读,进行一些解析(例如剥离
5
、7
和SUCCESS
),然后使用Cube的JS客户端将这些数据注入(https://github.com/square/cube)。首先,在Node中按行读取文件的规范方式是什么?
这似乎是一个相当常见的在线问题:
- http://www.quora.com/What-is-the-best-way-to-read-a-file-line-by-line-in-node-js
- Read a file one line at a time in node.js?
- https://github.com/nickewing/line-reader
- https://github.com/jahewson/node-byline
- https://github.com/pkrumins/node-lazy
- https://github.com/Gagle/Node-BufferedReader
然而,这似乎是一个非常基本的任务 - 在stdlib中肯定有一种简单的方法按行读取文本文件吧?
其次,我需要处理每一行(例如将时间戳转换为Date对象,并提取有用的字段)。
最大化吞吐量的最佳方法是什么?是否有一种不会在读取每行或将其发送到Cube时阻塞的方式?
第三 - 我猜使用字符串分割和JS的包含等价物(IndexOf!= -1?)比正则表达式快得多?有没有人在Node.js中解析大量文本数据方面有很多经验?