直接使用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項目的那個進程一直在打開日志文件:

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

