java jar 日志_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项目的那个进程一直在打开日志文件:

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

直接使用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项目的那个进程一直在打开日志文件: 可以查看到插入覆盖的内容,原本的日志信息变成全部变成空白(好像也不是空行):
经验分享 程序员 微信小程序 职场和发展