Linux如何查看jar包错误日志及持久化运行jar包
作者:理想青年宁兴星
还在为线上jar包服务排查问题而烦恼吗?本文教你如何查看jar包运行信息、实时监控日志,以及使用nohup让服务后台持久化运行,并输出日志到指定文件,轻松定位报错,提升运维效率
一、查看jar包运行信息命令
ps -ef | grep java

如图,给出了所部署jar包的环境变量,服务名称,服务端口信息。
这样便能得到部署的jar包是否在服务器成功运行及基本信息。
二、查看日志
启动信息无误,查看日志是否有报错。
监控命令:tail -fn 200 XXX (XXX为jar包根路径) 查看近200日志信息

根据错误日志信息去解决即可。
附加:线上查看服务日志如何更加方便?
标准输出
java -jar your-app.jar 命令是在服务器控制台的标准输出,即默认情况下,日志会输出到当前窗口,这是最简单的启动方式。
指定日志输出文件
上面这种方式查看日志并不方便,需要一直盯着服务器的输出内容来找报错信息。
那是不是将日志信息存入一个文件中查询会更加方便呢?是的,我们可以将日志重定向输出到指定文件中:使用 > 或 >> 符号
例:
java -jar chat-1.0-SNAPSHOT.jar > chat.log 2>&1
(2>&1的作用是同时捕获错误输出(stderr),可以将两个输出合并)
进入chat.log,这样我们就能更加方便查看成功与错误日志。

指定日志输出文件并持久化运行
虽然2能帮助我们更加方便的查看日志信息,但是还有一个缺点就是服务器关闭后,jar包也会随之停止运行,不能实时检测我们的运行信息。怎么解决?那就是后台运行并持久化日志。
可以使用 nohup 命令可以使程序在后台运行并且不会因为关闭SSH会话而停止,同时日志会写入 nohup.out 文件。
例:
nohup java -jar chat-1.0-SNAPSHOT.jar > custom.log 2>&1 &
- 此时正在运行的服务一方面不会因为我们关闭服务器而关闭


- 另一方面也能更加方便我们查看该服务日志信息

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- linux jar包怎么上传到root目录并解压运行
- linux启动jar包后台运行不中断的4种方法详解
- Linux中jar包的解压、修改与重新打包问题详解
- Linux通过vim修改Jar包并重新发布过程(Springboot项目)
- linux环境下替换jar包中class文件或jar包方式
- Linux中如何修改jar包里的文件类及配置等内容详解
- Linux环境实现替换jar包中class文件
- Linux下jar包的运行、查看、终止方式
- linux下shell脚本启动jar包实现过程
- Linux在线解压jar包的实现方式
- Linux部署jar包过程
- Linux启动Java程序jar包Shell脚本方式
- Linux系统下通过jar包进程号查询jar程序占用端口的常用方法
