使用记录:
第一: 刷新页面导致session问题
可以在java的session中记录,如果是同一个客户重新链接的话,直接返回java的session的数据ssemiter给前端,前端自动接着获取日志。
ssemiter:详情自行百度ssemiter相关【session存储链接,定时任务线程池定时触发】
第二:
读取日志文件的时候需要逻辑:
第一:记录当前point
如果pint!=当前日志长度:要么刷新日志了,要么更新日期重新生成日志了
point需要记录,最好是记录在redis中--带开发,防止分布式部署导致日志获取错乱问题。
如果是刷新,防止一次读取太多数据,默认从倒数500行开始。
也可设置每次读取10行。
实现效果:
可实时刷新结果;
多个窗口只有一个session有效。
待优化:
1-使用redis存储,防止分布式下,日志错乱
2-性能优化,如果几十个人同时查看,线程吃不消
3-日志乱码问题。
4-定制开发。读取周期内数据或者历史数据