https://gitee.com/xlongwei/logserver 是使用 logback,light-4j,commons-exec 等构建的简单日志服务, 参考项目 https://gitee.com/xlongwei/logbackserver 和 https://gitee.com/xlongwei/light4j , 支持跟踪日志, 分页查看, 搜索定位, 下载文件等功能, 演示地址: https://log.xlongwei.com/ .
跟踪日志: 即时输出多个 client 项目产生的日志, 多个 client 项目使用 contextName 区分 (可选包含主机名变量)
分页查看: 支持搜索定位, 然后使用 Ctrl+F 搜索当前网页即可
下载文件: 支持搜索并下载, 支持 nginx 直接浏览目录并另存为
相关技术
logback: 日志服务端使用 ServerSocketReceiver 监听端口, client 客户端使用 SocketAppender 发送日志到远端服务
light-4j: 轻量级框架, 内存少, 性能高, 支持 web socket
Tailer: 来自 commons-io 包, 用于跟踪日志; Web socket 用于浏览器通讯, 页面还用到了 reconnecting-websocket.min.JS
commons-exec: 分页查看和搜索使用了 Linux 命令实现 (Windows 使用了 LineNumberReader), 页面使用了 vue + Bootstrap
发展过程
nfs https://www.xlongwei.com/detail/16112316 : 映射其他主机的共享目录, 让多台主机可以访问同一个文件
tailf https://xlongwei.com/detail/17030122 : 将多个项目的日志汇总到单个文件, 效果不好
logbackserver https://xlongwei.com/detail/17050415 : 简单的日志服务端, 没有前端界面, 配合 nfs 可以在单台主机上查看所有日志了, 项目见 logback-server https://gitee.com/xlongwei/logbackserver
logstation https://xlongwei.com/detail/18082823 : 可以在浏览器跟踪日志了, 但服务端不稳定, 经常死掉
websocket https://xlongwei.com/detail/19061221 :light-4j 支持 Web socket 在线聊天, 那么就可以用来跟踪日志, 于是想到了 commons-io 的 Tailer 类
commons-exec: 想到使用 find,grep,sed 等命令来实现搜索文件名, 分页查看, 搜索行号等功能
vue.js + Bootstrap: 现学现卖, 页面布局, 事件响应, 动态绑定都很方便
https://gitee.com/xlongwei/logserver : 综合以上, 就有了 logserver 项目, 以后搜索日志再也不用登录 Linux 了
来源: http://www.bubuko.com/infodetail-3235938.html