1. 程式人生 > 其它 >Linux下執行springboot專案jar包,啟動日誌輸出命令解析

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 ,這路徑就好像永久刪除的回收站,當我們不需要輸出任何資訊時,就可以將輸出指向/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)進行輸出。

 

轉載:http://t.csdn.cn/sLG6V