[ 
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)

Reply via email to