跳到主要内容
CNode

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

问答
Ppetersun发布于 12 年前最后回复 11 年前
16195820

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

查看回复

回复 (16)

H
hezedu#1611 年前

tail -f

J
jiangli373#1511 年前
W
wehtta#1411 年前

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

F
flftfqwxf#1311 年前

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

E
eqiuno#1212 年前

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

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

J
jiyinyiyong#1112 年前

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

P
petersun#1012 年前
引用 i5tingpub/sub

@i5ting thx

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

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

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

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

P
petersun#612 年前
J
jiyinyiyong#512 年前

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

E
eeandrew#412 年前

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

M
MiguelValentine#312 年前

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

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

I
i5ting#212 年前

pub/sub

R
russj#112 年前

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

参与回复

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