Thank you for this bug report. I can recreate the issue.
As you describe, if file compression cannot complete before JVM exit, the original data is still available. If the file property is used, then the current log file will be renamed to a .tmp file and the latter will be compressed asynchronously. It the case the file property is missing, then no tmp file is generated, the current period's log file will be first compressed and deleted *after *the compression completes. Thus, in case the JVM exits prematurely, .zip or .gz file will be corrupt but the original log file will be available.
Shuwdown hooks provide a partial solution to this problem. More later.
|