如何将服务端log实时在页面输出展示?
RT。 顺便问问控制台里的输出node如何获取到?
16 回复
var log = console.log; console.log=function(){log(arguments);ioout(arguments)}
ioout是你自己写的SOCKETIO发消息的函数。
如果是调用终端的命令, 那么 c = process.exec('find /', cb) 测样的代码,
这个 c 可以监听到事件的... 讲起来比较乱, 直接看例子吧:
http://stackoverflow.com/a/15515651/883571
如果要在web页面上展示后台的实时数据,从页面端讲可以实现的技术:1、页面轮询 2、websocket 对于nodejs来说如果不用websocket都有点说不过去了。基于这个思路,web页面和服务端通信的方式其实已经确定了,只要按照socketio实现就好了。
我们再说服务端。先说收集都是node应用产生的日志,这个最简单,随便找个日志框架,把日志输出到mongo的capped的collection,再利用capped collectoin 的tail cursor,很容易就可以把变化的内容通过socketio输出到web页面上去了。 如果要监控其他系统写的文件,这个场景就多了,你要自己分析才行了。 希望有帮助