linux查看实时日志命令 查看日志的三种命令分享( 三 )
注意这里 , 要发送给指定的WebSocket , 而不是订阅了这个路径的WebSocket , 因为使用SimpMessagingTemplate在发送数据时 , 他可以给所有订阅了此路径的WebSocket , 那么就导致如果一个浏览器开了2个监控 , 而且监控的都是同一个日志文件 , 那么每个监控都会收到两条同样的消息 。
所以要使用convertAndSendToUser方法而不是convertAndSend , 这也就是为什么前面会通过setHandshakeHandler设置握手处理器为每个WebSocket连接取一个name的原因 。
前端<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>日志监控</title><style>body {background: #000000;color: #ffffff;}.log-list {color: #ffffff;font-size: 13px;padding: 25px;}</style></head><body><div class="container"><div class="log-list"></div></div><script src="http://img.caodingbaike.com/220902/0603144038-0.jpg"></script><script src="http://img.caodingbaike.com/220902/0603145b4-1.jpg"></script><script src="http://img.caodingbaike.com/220902/0603144263-2.jpg"></script><script>var socket = new SockJS('/socket-log?a=a');stompClient = Stomp.over(socket);stompClient.connect({}, function (frame) {stompClient.subscribe('/user/topic/path'+getQueryVariable("path"), function (greeting) {console.log("a" + greeting)let item = $("<div class='log-line'></div>");item.text(greeting.body)$(".log-list").append(item);$("html, body").animate({scrollTop: $(document).height()}, 0);});});function getQueryVariable(variable) {var query = window.location.search.substring(1);var vars = query.split("&");for (var i = 0; i < vars.length; i++) {var pair = vars[i].split("=");if (pair[0] == variable) {return encodeURIComponent(pair[1]);}}return (false);}</script></body></html>效果下面是启动、关闭Tomcat的日志 。

文章插图

文章插图

文章插图

文章插图
如果查看一下这个进程的文件描述符 , 就不为奇了 , 在下面的命令中 , 显示了3号描述符追踪的是
/home/HouXinLin/test/tail/2.txt 。
hxl@hxl-PC:/home/HouXinLin/test/tail$ ps -ef |grep 1.txthxl1368 290210 09:02 pts/000:00:00 grep 1.txthxl20298 296720 09:00 pts/600:00:00 tail -f 1.txthxl@hxl-PC:/home/HouXinLin/test/tail$ ls -l /proc/20298/fd总用量 0lrwx------ 1 hxl hxl 64 3月16 09:02 0 -> /dev/pts/6lrwx------ 1 hxl hxl 64 3月16 09:02 1 -> /dev/pts/6lrwx------ 1 hxl hxl 64 3月16 09:02 2 -> /dev/pts/6lr-x------ 1 hxl hxl 64 3月16 09:02 3 -> /home/HouXinLin/test/tail/2.txtlr-x------ 1 hxl hxl 64 3月16 09:02 4 -> anon_inode:inotifyhxl@hxl-PC:/home/HouXinLin/test/tail$ 但是如果我们通过vim、等工具编辑这个文件后 , 那么这个文件描述符中会被记录为被删除 , 即使这个文件确实是存在的 , 此时在向2.txt文件中追加就会失效 。hxl@hxl-PC:/home/HouXinLin/test/tail$ vim 2.txt hxl@hxl-PC:/home/HouXinLin/test/tail$ ls -l /proc/20298/fd总用量 0lrwx------ 1 hxl hxl 64 3月16 09:02 0 -> /dev/pts/6lrwx------ 1 hxl hxl 64 3月16 09:02 1 -> /dev/pts/6lrwx------ 1 hxl hxl 64 3月16 09:02 2 -> /dev/pts/6lr-x------ 1 hxl hxl 64 3月16 09:02 3 -> /home/HouXinLin/test/tail/2.txt~ (deleted)lr-x------ 1 hxl hxl 64 3月16 09:02 4 -> anon_inode:inotifyhxl@hxl-PC:/home/HouXinLin/test/tail$
- 抖音限流怎么看的出来
- 怎么查看wifi密码手机
- 欢乐斗地主怎么看记录 欢乐斗地主如何查看自己的游戏战绩
- 手机隐私照片在哪里查看
- linux如何查看端口
- 手机怎么查看wifi密码
- 该咋地才可以查看激活时间
- 该咋地才可以查看手机电池容量
- 手机bilibili怎么查看自己的评论
- 全名k歌怎么查看历史直播
