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,可能更可取.)

转载注明原文:linux – 删除输出文件后捕获新输出 - 代码日志