java?-jar啟動(dòng)服務(wù)并輸出日志常用命令小結(jié)
1.一般情況下運(yùn)行jar包,當(dāng)前是可運(yùn)行的jar包,直接命令
java -jar common.jar
按下ctrl+C ,關(guān)閉當(dāng)前ssh或者直接關(guān)閉窗口,當(dāng)前程序都會(huì)退出。
2.我們?cè)诿畹慕Y(jié)尾添加 “&” ,&表示該程序可以在后臺(tái)執(zhí)行
java -jar common.jar &
但是在當(dāng)窗口關(guān)閉時(shí),程序也會(huì)中止運(yùn)行
3.命令最前面?zhèn)€nohup關(guān)鍵字
nohup java -jar common.jar &
這樣程序就會(huì)不掛斷運(yùn)行命令, 當(dāng)ssh終端關(guān)閉時(shí),程序仍然在運(yùn)行,當(dāng)前程序的日志會(huì)被寫入到當(dāng)前目錄的nohup.out文件中
4.指定輸入的日志文件
nohup java -jar common.jar > log.out &
當(dāng)前程序的日志會(huì)被寫入到當(dāng)前目錄的log.out文件中
5.不寫日志
可以將日志重定向到 /dev/null 中,/dev/null代表linux的空設(shè)備文件,所有往這個(gè)文件里面寫入的內(nèi)容都會(huì)丟失
nohup java -jar common.jar > /dev/null &
標(biāo)準(zhǔn)輸出就會(huì)不再存在,沒(méi)有任何地方能夠找到輸出的內(nèi)容
6.只輸出錯(cuò)誤信息到日志文件
nohup java -jar common-api.jar >/dev/null 2>log.error &
標(biāo)準(zhǔn)輸出不寫入日志文件,直接丟棄
7.標(biāo)準(zhǔn)輸出(stdout)重定向到/dev/null中(丟棄標(biāo)準(zhǔn)輸出)
nohup java -jar common-api.jar >/dev/null 2>&1 &
然后標(biāo)準(zhǔn)錯(cuò)誤輸出(stderror)由于重用了標(biāo)準(zhǔn)輸出的描述符,所以標(biāo)準(zhǔn)錯(cuò)誤輸出也被定向到了/dev/null中,錯(cuò)誤輸出同樣也被丟棄了
8.標(biāo)準(zhǔn)輸出重定向到log.out中
nohup java -jar common-api.jar >log.out 2>&1 &
然后錯(cuò)誤輸出由于重用了標(biāo)準(zhǔn)輸出的描述符,所以錯(cuò)誤輸出也被定向到了log.out中
但是不管那種情況,如果日志輸出,日志文件都會(huì)增加很快,造成單個(gè)文件很大。所以需要拆分文件
1:定時(shí)作業(yè),每天將日志文件復(fù)制一份,然后將當(dāng)前的日志文件清空。
2:借助 cronolog來(lái)分隔日志
nohup java -jar common-api.jar | /usr/local/cronolog/sbin/cronolog
logs/console-%Y-%m-%d.out &
這樣每天會(huì)產(chǎn)生一個(gè)console開頭的日志文件。
總結(jié)
到此這篇關(guān)于java -jar啟動(dòng)服務(wù)并輸出日志常用命令的文章就介紹到這了,更多相關(guān)java -jar 啟動(dòng)服務(wù)輸出日志內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot自定義FailureAnalyzer詳解
這篇文章主要介紹了SpringBoot自定義FailureAnalyzer詳解,FailureAnalyzer是一種在啟動(dòng)時(shí)攔截?exception?并將其轉(zhuǎn)換為?human-readable?消息的好方法,包含在故障分析中,需要的朋友可以參考下2023-11-11Java控制結(jié)構(gòu)知識(shí)點(diǎn)詳解
在本篇文章里小編給大家分享的是關(guān)于Java控制結(jié)構(gòu)知識(shí)點(diǎn)詳解,有需要的朋友們可以參考下。2019-10-10