使用nodejs构建web应用非常方便,但是带来的日志管理问题却不太好搞,因为一般程序日志都是写本地文件中的。当然,如果您不闲折腾使用rsyslog去做日志集中管理也是可以的,不过配置略麻烦
。今天要介绍的是一个基于nodejs开发的集中式日志管理系统。
项目来由
本来找到一个log.io的项目,但是是几年前用的,node8.6跑不起来,看了一下原理之后决定自己造一个轮子。
原理
- 中心服务器开启server,通过socket.io监听客户端发来的数据,同时提供一个简易版的web页面。
- 客户端通过监听指定文件
实时上报最新的一行
。
缺陷?
- 基于长期运行考虑,中心服务器并不保存日志,只做实时转发
项目地址
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
查看
此时服务器启动成功可以接收客户端上报的日志了
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
5. 打开浏览器
http://localhost:10001?passwo... 密码为启动服务器指定的--pwd参数,默认administrator
6. 编辑/Users/xialei/a.txt
echo '222'>/Users/xialei/a.txt
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。