背景
- 最近在单核1G的乞丐版服务器上部署了个自己的后台应用玩玩,想顺便部署个SpringBoot-admin来查查日志啥的结果一部署上去服务器资源就不够用了,那咋整?不会每次想看日志都的SSH过去然后追到日志目录然后再去tail?想想就觉得麻烦!于是花了点时间做了个简单快捷查日志的小工具,顺便加了关键字高亮,这样日志看起来漂亮多了!
效果
实时查询日志, 服务器新产生的日志会立即打印到该窗口
集成简单的查询和字符操作
源码
https://github.com/shuoGG1239/LogViewer
使用
- 仅需配置下userinfo.json即可. name,host,password为服务器SSH登录三元组
- 然后把cmd下的
/home/server/admin.log
换成服务器日志的路径, 然后直接跑就行了
{
"password": "122222",
"host": "39.108.226.222",
"name": "root",
"cmd": "tail -f -n 500 /home/server/admin.log"
}
分析
其实看到
userinfo
下的字段就知道这其实只是一个超级简化版的SSH客户端了吧, 然后cmd就是自动执行的命令, 最后把执行的命令显示在输出框…确实就是这么简单! 其实本来是对cmd进行一层封装的, 不过后来觉得不自由, 还是改成在cmd填命令直接跑吧, 反正是给自己用的:P其中SSH连接模块是用了
paramiko
, 其实python的SSH工具包很多, 什么fabric
,pexpect
都用过, 但是在windows+Py3
的环境下感觉不是很友好, 踩过一些坑就不多说了, 反正windows下就无脑选paramiko
吧代码高亮部分, 我这边由于日志用的是log4j, 所以着色也是根据log4j的格式来适配,
prettify_text
方法是着色+过滤主体, 可以根据自己服务器日志的格式修改此方法即可