springBoot簡單記錄日誌

記錄日誌的幾種方法

springboot項目內置日誌框架

在配置文件中添加以下配置:

logging:
  file:
    name: "./log/xxx.log"
  pattern:
    file: "%d{yyyy-MM-dd} === [%thread] === %-5level === %logger{50} === - %msg%n"

項目打包成jar後會在同級目錄生成log/xxx.log日誌文件

linux命令輸出

如果不在springboot項目中配置日誌文件,則可以手動使用Linux命令生成日誌輸出

以下命令只是簡單啓動jar包命令,ctrl+c後項目會停掉

java -jar xxx.jar

以下命令是後臺啓動jar包命令,ctrl+c後項目不會停,但是用戶斷開連接後項目會停止

java -jar xxx.jar &

以下命令是後臺啓動jar包命令,ctrl+c後項目會停止,忽略輸入並把輸出追加到"nohup.out"

 nohup java -jar demo.jar

nohup命令即no hang up縮寫,不掛斷的意思,即斷開連接項目不會停止,但是ctrl+c後會停止,所以通常與&命令一起使用如下:

nohup java -jar xxx.jar &

使用nohup java -jar xxx.jar &命令後,不管ctrl+c還是斷開連接項目都會照常運行,並且會將日誌信息輸出到nohup.out文件,現在我們可以給nohup.out重定向輸出一下,如下命令的意思是:

2>&1是將標準錯誤2重定向到標準輸出&1,標準輸出&1再被重定向輸入到sys.log文件中,此種方法是最常用的Linux日誌持久化方法。

nohup java -jar xxx.jar > ./sys.log 2>&1  &

linux直接殺死進程命令

grep爲管道符號,如下命令的意思是:

查看java進程,並且過濾掉grep管道命令(因爲正常執行ps -ef|grep java會過濾不掉grep命令如下圖所示),

 

 過濾掉grep後如下圖所示,

 

 然後取進程號,如下圖所示,

 

 

 將參數傳遞給kill -9命令,直接一行命令關閉進程。

ps -ef | grep java | grep -v grep | awk '{print $2}' | xargs kill -9

 

最後可以將

nohup java -jar xxx.jar > ./sys.log 2>&1  &
ps -ef | grep xxx | grep -v grep | awk '{print $2}' | xargs kill -9

分別寫入文件起名爲start.sh和stop.sh,直接./start.sh ./stop.sh啓動和停止jar包。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章