Linux下运⾏springboot项⽬jar包,启动⽇志输出教程
⽹上的解释⼀堆,写的乱七⼋糟的,看的我发懵,亲测后整理如下:
⾸先,在jar包所在⽬录下,正常启动⼀个名为***.jar包标准命令:
[root@localhost data]# nohup java -jar ***.jar >nohup.log 2>&1 &
启动之后,会在jar所在⽬录⽣成⼀个nuhup.log⽇志⽂件,记录控制台的⽇志输出。
但这是什么意思呢?
划重点!划重点其实就是两个要点:输出什么和输出到哪。
他们以符号“>”进⾏划分,符号左边是输出什么,符号右边是输出到哪。
1.输出什么
输出分为标准输出和错误输出,标准输出就是全输出,输出控制台信息;错误输出只是输出错误⽇志信息。
> 符号左边没有1和2,啥数字也不写只有⼀个右箭头,默认标准输出。
1> 符号左边是1,标准输出。
2> 符号左边是2,错误输出。
因此上⾯我们执⾏的 ***.jar >nohup.log 2>&1命令,可以拆解成 > nohup.log 和 2> &1两个输出,只看符号“>”左边输出部分,分别代表默认标准输出到⼀个地⽅,然后错误⽇志输出到另⼀个地⽅,咱们后⾯再讲输出到什么地⽅。
2.输出到哪
输出到哪,分为输出到指定路径⽇志⽂件和重定向位置。
指定路径⽂件好理解,就是指定⼀个地址⽽已,如下:
> /data/work/log.log
这样便是指定输出到路径/data/work/log.log⽂件。
Linux上有⼀个特例路径/dev/null ,这路径就好像永久删除的回收站,当我们不需要输出任何信息时,springboot是啥
就可以将输出指向/dev/null,那就不会有任何输出⽂件。
⾄于重定向,就是将⽂件重定向到⼀个地址,如下:
> &1 重定向到标准输出的地址,啥意思,就是输出到已指定的标准输出的地址。
> &2 重定向到错误输出的地址,就是输出到已指定的错误输出的地址。
⽐如>nohup.log 2>&1 ,意思是前⾯默认标准输出到了nohup.log⽇志下,后⾯错误输出也指向标准输出的地址,也即nohup.log⽇志下。
3.执⾏输出 &,最后加⼀个&符号收尾。
举例再解释:
(1)nohup java -jar ***.jar >/data/log.log 2>/data/err.log &
解释:标准⽇志输出到/data/log.log⽂件,错误⽇志输出到/data/err.log⽂件。
(2)nohup java -jar ***.jar >/data/log.log 2>&1 &
解释:标准⽇志输出到/data/log.log⽂件,错误⽇志重定向也输出到/data/log.log⽂件。
(3)nohup java -jar ***.jar >/dev/null 2>/data/err.log &
解释:标准⽇志输出到/dev/null,也就是不输出标准⽇志,错误⽇志输出到/data/err.log⽂件。⼀般采⽤上⾯(3)只输出错误⽇志就可以了,有需要的按照(1)进⾏输出。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论