系统相关
首页 > 系统相关> > linux – 删除输出文件后捕获新输出

linux – 删除输出文件后捕获新输出

作者:互联网

我用这个命令在Debian上运行了一个java服务器:

  java -jar myapp.jar [args] >> log.txt

一旦我解压缩日志文件发送它然后我意识到原始文件已经消失,只留下.gzip.

虽然我手动创建了文件(并且还尝试解压缩原始文件),但应用程序不再记录该文件.所以我的问题是:那个日志在那之后会去哪里?有没有办法重新路由输出日志文件而不重新启动应用程序(因为它是一个服务器,我宁愿不杀死该进程).

解决方法:

来自man gzip:

 -k, --keep        Keep (don't delete) input files during compression or
                   decompression.

所以gzip -k log.txt应该可以解决这个问题.

(但一般来说,真正的日志记录解决方案,即一些syslog守护程序,可能使用log4j,可能更可取.)

标签:rm,java,linux,logs,open-files
来源: https://codeday.me/bug/20190814/1652536.html