恢复在logback中删除的日志文件在Windows上工作正常,但在Linux SUSE上无法正常工作

我使用SLF4J + logback 1.0.12为我的应用程序日志logginglogback 1.0.12 。 我在Windows XPLinux SUSE操作系统上运行我的应用程序。 我有一个情景如下:

我的应用程序正在运行时删除了日志文件。 在Windows XP logback恢复机制工作良好,并在传递几秒钟(大约10秒)后再次生成日志文件,但是在Linux SUSE日志文件不会再生成。

我的问题是:为什么logback恢复机制在两个os上有不同的行为?

在Linux下,如果一个进程写入一个文件并且目标文件被删除,这个进程继续悄悄地写入一个ghost文件。 错误情况不会触发异常。

这就回答了恢复过程行为依赖于操作系统的原因。