jar包啟動的日志管理問題


直接使用java命令運行jar,快速輕便,但是日志管理是個難題,因為服務不能中斷,那么日積月累,必然導致日志文件占滿磁盤空間。

需求:只保留一周的日志文件。

思路:對日志文件使用追加覆蓋、刪除日志文件內容,經過試驗測試發現以下異常:

問題一:

使用命令啟動java的一個jar包:

root@test:/test# nohup java -jar portal-1.0-SNAPSHOT.jar &>>t.txt &

在t.txt文件中追加一行數據,出現數據自動消失的問題,是否為臟數據,導致誤讀:

root@test:/test# echo "31777777777777777" >> t.txt 

 

 

問題二:

使用命令啟動java的一個jar包:

root@test:/test# nohup java -jar portal-1.0-SNAPSHOT.jar &>>t.txt &

直接刪除掉t.txt文件:

 

java的jar還處於運行狀態,日志則會追加到什么地方??並且日志文件不會再被創建

 

 

 

 

問題三:

運行jar包后,當日志體積達到幾十M后,直接使用覆蓋的方法追加內容(echo "111"  >t.txt)。隔幾秒鍾日志文件又變大了,不知道是不是運行java項目的那個進程一直在打開日志文件:

 

 

可以查看到插入覆蓋的內容,原本的日志信息變成全部變成空白(好像也不是空行):

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM