[
https://issues.apache.org/jira/browse/LOG4J2-2840?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17106897#comment-17106897
]
Ralph Goers commented on LOG4J2-2840:
-------------------------------------
The rolling file appender continues to write to the file that was deleted. I
know I provided an explanation when I marked the issue resolved but I don't see
it now so I will repeat it.
When you try to delete a file in Windows if any application has that file open
the delete will fail. Unix behaves differently. When you delete a file in Unix
it will delete the directory entry but any file handles that were open against
the file are untouched. So applications can continue to read from and write to
the file. Once the file handle is closed it can no longer be accessed because
the directory entry is no longer there to locate the file. Applications have
no way of knowing that the file was deleted without continually checking the
actual file object, which isn't cheap and isn't worth the trouble since
everyone knows not to do that.
So, if the file gets deleted the application will keep writing data to the file
until log4j determines a rollover is required. You just can't see the file
because you deleted the directory entry for it.
> Log4j2 is not able to detect a deleted log file.
> ------------------------------------------------
>
> Key: LOG4J2-2840
> URL: https://issues.apache.org/jira/browse/LOG4J2-2840
> Project: Log4j 2
> Issue Type: Bug
> Components: Appenders, Configuration
> Affects Versions: 2.12.1
> Environment: Unix server.
> Reporter: Prateek Sethi
> Priority: Major
>
> I am using Log4j2 2.12.1.
> And I have configured a rolling file appender to write to a file ( which gets
> rolled over based on some size limit).
> The issue I am facing is that when active file gets deleted from the backend
> , log4j2 logger is not able to detect the file deletion and keep on
> processing the message. I am not able to figure out where the messages are
> being written.
> The Status Logger also doesn't show any error events.
> Expected behaviour would have that logger should have created a new file and
> started writing into it.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)