log.io-ts - 基於nodejs+socket.io的實時日誌系統

使用nodejs構建web應用很是方便,可是帶來的日誌管理問題卻不太好搞,由於通常程序日誌都是寫本地文件中的。固然,若是您不閒折騰使用rsyslog去作日誌集中管理也是能夠的,不過配置略麻煩。今天要介紹的是一個基於nodejs開發的集中式日誌管理系統。node

項目來由

原本找到一個log.io的項目,可是是幾年前用的,node8.6跑不起來,看了一下原理以後決定本身造一個輪子。git

原理

  1. 中心服務器開啓server,經過socket.io監聽客戶端發來的數據,同時提供一個簡易版的web頁面。
  2. 客戶端經過監聽指定文件實時上報最新的一行

缺陷?

  • 基於長期運行考慮,中心服務器並不保存日誌,只作實時轉發

項目地址

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

示例

1. 安裝log.io

sudo npm install log.io-ts -g

2. 啓動服務器

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

具體選項能夠log.io start-server --help查看web

clipboard.png
此時服務器啓動成功能夠接收客戶端上報的日誌了npm

3. 編輯客戶端配置文件

配置文件能夠隨便放,啓動客戶端時指明絕對路徑便可,本例/Users/xialei/log-config.jsonjson

[
    {"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

相關文章
相關標籤/搜索