4

使用nodejs构建web应用非常方便,但是带来的日志管理问题却不太好搞,因为一般程序日志都是写本地文件中的。当然,如果您不闲折腾使用rsyslog去做日志集中管理也是可以的,不过配置略麻烦。今天要介绍的是一个基于nodejs开发的集中式日志管理系统。

项目来由

本来找到一个log.io的项目,但是是几年前用的,node8.6跑不起来,看了一下原理之后决定自己造一个轮子。

原理

  1. 中心服务器开启server,通过socket.io监听客户端发来的数据,同时提供一个简易版的web页面。
  2. 客户端通过监听指定文件实时上报最新的一行

缺陷?

  • 基于长期运行考虑,中心服务器并不保存日志,只做实时转发

项目地址

https://github.com/xialeistud...

示例

1. 安装log.io

sudo npm install log.io-ts -g

2. 启动服务器

log.io start-server -p 10001 -P 111111

具体选项可以log.io start-server --help查看

clipboard.png
此时服务器启动成功可以接收客户端上报的日志了

3. 编辑客户端配置文件

配置文件可以随便放,启动客户端时指明绝对路径即可,本例/Users/xialei/log-config.json

[
    {"node":"test","path":"/Users/xialei/a.txt"}
]

4. 启动客户端

log.io start-client -s http://localhost:10001 -c /Users/xialei/log-config.json

clipboard.png

5. 打开浏览器

http://localhost:10001?passwo... 密码为启动服务器指定的--pwd参数,默认administrator

6. 编辑/Users/xialei/a.txt

echo '222'>/Users/xialei/a.txt

7.查看浏览器

clipboard.png


xialeistudio
21.5k 声望5k 粉丝