日志查看服务
maven引用
<dependency>
<groupId>io.github.moon-cn</groupId>
<artifactId>commons-log-view</artifactId>
<version>1.0.x</version>
</dependency>
配置请求路径(可选)
log-view:
# websocket监听文件变化的请求路径
websocket: /api/log-view
项目启动,访问
http://127.0.0.1:8080/log-view/index.html?path=D:/demo.log
一个session对应一个监控线程,session断开线程关闭
请求格式
ws://127.0.0.1:8080/api/log?path=要实时监控的文件路径
可参考demo.html,自行实现前端代码
webSocket = new WebSocket(target);
webSocket.onopen = function () {
console.log("已连接");
};
webSocket.onmessage = function (event) {
console.log(event.data);
};
webSocket.onclose = function (e) {
console.log("连接关闭", e);
};
例如 http://127.0.0.1:8080/log-view/index.html?path=D:/demo.log, 其中path需要encode
如果使用React,可以使用 https://github.com/mozilla-frontend-infra/react-lazylog
import React from 'react';
import { render } from 'react-dom';
import { LazyLog, ScrollFollow } from 'react-lazylog';
render((
<ScrollFollow
startFollowing={true}
render={({ follow, onScroll }) => (
<LazyLog url="http://127.0.0.1/api/log?path=D:\demo.log" stream follow={follow} onScroll={onScroll} />
)}
/>
), document.getElementById('root'));