在Linux环境下运行JAR包并查看日志的几种方法:
-
标准输出(Console):
如果在启动JAR包时没有重定向日志输出,那么默认情况下,日志会输出到当前终端窗口。直接运行命令:
java -jar your-app.jar
然后在终端中观察输出。
-
重定向输出到文件:
若要将日志输出保存到特定文件,可以使用
>
或
>>
符号重定向输出流:
java -jar your-app.jar > app.log
这样所有的标准输出(包括日志)都会被写入到
app.log
文件中。
如果还想同时捕获错误输出(stderr),可以将两个输出合并:
java -jar your-app.jar > app.log 2>&1
-
后台运行并持久化日志:
使用
nohup
命令可以使程序在后台运行并且不会因为关闭SSH会话而停止,同时日志会写入
nohup.out
文件:
nohup java -jar your-app.jar &
要查看日志,则打开
nohup.out
文件:
cat nohup.out
如果想自定义日志输出位置,可以结合重定向:
nohup java -jar your-app.jar > custom.log 2>&1 &
-
使用日志框架输出到文件:
如果Java应用程序内嵌了如Log4j、SLF4J+Logback等日志框架,日志可能直接写入到配置好的日志文件中。这时你需要查看具体日志框架的配置文件(如log4j.properties或logback.xml),了解日志输出的位置,然后直接查看相应日志文件。
-
实时监控日志:
对于实时查看日志增长情况,可以使用
tail -f
命令来跟踪文件末尾的变化:
tail -f app.log
综上所述,根据实际情况选择合适的方法来查看和管理你的JAR包运行时产生的日志。
nohup java -jar xxxx.jar &
nohup意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行。缺省情况下该作业的所有输出被重定向到nohup.out的文件中
方法四:...
这将在一个新的 screen 会话中运行进程,您可以在这个会话中随时查看或关闭它,而不会中断进程。要查看会话,请输入 screen -r yoursessionname,要关闭会话,请输入 exit。使用以上方法可以更加优雅地运行 JAR 文件,同时可以确保程序在后台运行,并且在 SSH 连接断开时也不会中断程序的运行。使用 nohup 命令将进程放入后台运行,并使用 & 符号使命令立即返回终端提示符,例。缺省日志输出目标文件情况下所有输出将被重定向到nohup.out的文件中。
其中,YourJarFileName.jar表示要启动的Jar包的文件名,log.file是日志输出文件,2>&1表示将标准错误输出(stderr)重定向到标准输出(stdout),&符号表示在后台运行该命令。使用该命令会新开一个进程运行程序,不影响当前终端的使用。其中,YourJarFileName.jar表示要启动的Jar包的文件名。执行该命令后,程序将在前台运行并输出日志信息,如果需要关闭程序,可以按CTRL + C打断程序运行。可以通过编写一个脚本来启动Jar包,并使程序在后台运行。
我们不管是在windows还是LInux下运行jar包,都是会在控制台看到有日志的。这样直接显示肯定是不方便查看的。所以需要让控台的内容保存到某个文件下进行管理查看。可以分为正常日志和错误日志两种
这种打印日志的方式,会一直在控制台一直打印,不方便管理
我们将控制台日志输出到指定文件
参数解释:0 标准输入(一般是键盘)
1 标准输出(一般是显示屏,是用户终端控制台)
2 标准错误(错误信息输出)下面演示常用的三个案例,使用之前先创建好标准日志文件和错误日志文件
这里标准日志文件和错误日志文件的位置,需