CNode

如何将服务端log实时在页面输出展示?

问答
Ppetersun发布于12 年前最后回复11 年前16 回复19547 浏览0 收藏

RT。 顺便问问控制台里的输出node如何获取到?

查看回复

回复 (16)

R
russj#1·12 年前

服务端的为什么要在页面显示? 一般前后端是分开的

I
i5ting#2·12 年前

pub/sub

M
MiguelValentine#3·12 年前

var log = console.log; console.log=function(){log(arguments);ioout(arguments)}

ioout是你自己写的SOCKETIO发消息的函数。

E
eeandrew#4·12 年前

哪个控制台?nodejs控制台?浏览器控制台?

J
jiyinyiyong#5·12 年前

具体场景是怎么样的? 不同环境会差别很大的

P
petersun#6·12 年前
P
petersun#8·12 年前
引用 jiyinyiyong具体场景是怎么样的? 不同环境会差别很大的

@jiyinyiyong 有一个场景是想把gulp的输出信息在页面展示,用户的所有操作都是在web上进行的。譬如当前打包进行到哪个阶段了,等等。

P
petersun#9·12 年前
引用 russj服务端的为什么要在页面显示? 一般前后端是分开的

@russj 相当于在web端可以实时查看服务器的访问日志。

P
petersun#10·12 年前
引用 i5tingpub/sub

@i5ting thx

J
jiyinyiyong#11·12 年前

如果是调用终端的命令, 那么 c = process.exec('find /', cb) 测样的代码, 这个 c 可以监听到事件的... 讲起来比较乱, 直接看例子吧: http://stackoverflow.com/a/15515651/883571

E
eqiuno#12·12 年前

如果要在web页面上展示后台的实时数据,从页面端讲可以实现的技术:1、页面轮询 2、websocket 对于nodejs来说如果不用websocket都有点说不过去了。基于这个思路,web页面和服务端通信的方式其实已经确定了,只要按照socketio实现就好了。

我们再说服务端。先说收集都是node应用产生的日志,这个最简单,随便找个日志框架,把日志输出到mongo的capped的collection,再利用capped collectoin 的tail cursor,很容易就可以把变化的内容通过socketio输出到web页面上去了。 如果要监控其他系统写的文件,这个场景就多了,你要自己分析才行了。 希望有帮助

F
flftfqwxf#13·11 年前

我也正在做这个,楼主实现没有,分享一下呗,谢谢

W
wehtta#14·11 年前

有个npm 包是专门做这个的,名字忘了。 web页面展示,而且还有不同的level 的log。

J
jiangli373#15·11 年前
H
hezedu#16·11 年前

tail -f

参与回复
登录后即可参与回复。登录