welcome to xlongwei.com

欢迎大家一起学习、交流、分享


QQ:9167702333 邮箱:admin@xlongwei.com

logserver 日志服务项目发布


分类 Java   关键字 分享   标签 java   发布 hongwei  1570806966080
注意 转载须保留原文链接,译文链接,作者译者等信息。  

logserver是使用logback、light-4j、commons-exec等构建的简单日志服务,参考项目logbackserverlight4j,支持跟踪日志、分页查看、搜索定位、下载文件等功能,演示地址:https://log.xlongwei.com/

  • 跟踪日志:即时输出多个client项目产生的日志,多个client项目使用contextName区分(可选包含主机名变量)

  • 分页查看:支持搜索定位,然后使用Ctrl+F搜索当前网页即可

  • 下载文件:支持搜索并下载,支持nginx直接浏览目录并另存为


  • 相关技术
    1. logback:日志服务端使用ServerSocketReceiver监听端口,client客户端使用SocketAppender发送日志到远端服务
    2. light-4j:轻量级框架,内存少,性能高,支持web socket
    3. Tailer:来自commons-io包,用于跟踪日志;web socket用于浏览器通讯,页面还用到了reconnecting-websocket.min.js
    4. commons-exec:分页查看和搜索使用了linux命令实现(windows使用了LineNumberReader),页面使用了vue + bootstrap


  • 发展过程
    1. nfs:映射其他主机的共享目录,让多台主机可以访问同一个文件
    2. tailf:将多个项目的日志汇总到单个文件,效果不好
    3. logbackserver:简单的日志服务端,没有前端界面,配合nfs可以在单台主机上查看所有日志了,项目见logback-server
    4. logstation:可以在浏览器跟踪日志了,但服务端不稳定,经常死掉
    5. websocket:light-4j支持web socket在线聊天,那么就可以用来跟踪日志,于是想到了commons-io的Tailer类
    6. commons-exec:想到使用find、grep、sed等命令来实现搜索文件名、分页查看、搜索行号等功能
    7. vue.js + bootstrap:现学现卖,页面布局、事件响应、动态绑定都很方便
    8. logserver:综合以上,就有了logserver项目,以后搜索日志再也不用登录linux了