[ 
https://issues.apache.org/jira/browse/LOG4J2-3313?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sriram R updated LOG4J2-3313:
-----------------------------
    Description: 
Let us take an example where we have a RollingFile
 appender with a DefaultRollOverStrategy. 

Let's consider the following values for

 
{code:java}
fileName = "logs/test.log"
filePattern = "logs/%d{yyyy-MM-dd}/test-%d{yyyy-MM-dd-HH-mm}.%i.log.gz" {code}
 

 

When a rollover takes place, log4j2 first renames test.log and moves it to the 
filePattern
 path, and then compresses the file

 
{code:java}
[ logs/test.log -> logs/2022-01-03/test-2021-01-03-01.1.log -> 
logs/2022-01-03/test-2021-01-03-01.1.log.gz{code}
 

 

Now let's consider a scenario where we also use tempCompressedFilePattern with 
DefaultRolloverStrategy.

 
{code:java}
tempCompressedFilePattern = 
"tmp/%d{yyyy-MM-dd}/test-%d{yyyy-MM-dd-HH-mm}.%i.log.gz" {code}
 

 

In this scenario, I would expect test.log to be renamed and moved to `tmp` 
folder before being compressed but that's not the case

 

IDEAL SCENARIO

 
{code:java}
logs/test.log -> tmp/2021-01-03/test-2022-01-03-01.log -> 
tmp/test-2022-01-03-01.log.gz -> logs/2021-01-03/test-2022-01-03-01.log.gz{code}
 

 

But this happens [ difference in step2 from IDEAL SCENARIO ]

 
{code:java}
logs/test.log -> logs/2021-01-03/test-2022-01-03-01.log -> 
tmp/test-2022-01-03-01.log.gz -> logs/2021-01-03/test-2022-01-03-01.log.gz{code}
 

 

Here, even though the temp pattern folder is different, a temporary file is 
created in the destination which is then moved to tmp path.

 

Added attachment below on DEBUG log

 

 

  was:
Let us take an example where we have a RollingFile
 appender with a DefaultRollOverStrategy. 

Let's consider the following values for

 
{code:java}
fileName = "logs/test.log"
filePattern = "logs/%d{yyyy-MM-dd}/test-%d{yyyy-MM-dd-HH-mm}.%i.log.gz" {code}
 

 

When a rollover takes place, log4j2 first renames test.log and moves it to the 
filePattern
 path, and then compresses the file

 
{code:java}
[ logs/test.log -> logs/2022-01-03/test-2021-01-03-01.1.log -> 
logs/2022-01-03/test-2021-01-03-01.1.log.gz{code}
 

 

Now let's consider a scenario where we also use tempCompressedFilePattern with 
DefaultRolloverStrategy.

 
{code:java}
tempCompressedFilePattern = 
"tmp/%d{yyyy-MM-dd}/test-%d{yyyy-MM-dd-HH-mm}.%i.log.gz" {code}
 

 

In this scenario, I would expect test.log to be renamed and moved to `tmp` 
folder before being compressed but that's not the case

 

IDEAL SCENARIO

 
{code:java}
logs/test.log -> tmp/test-2022-01-03-01.log -> tmp/test-2022-01-03-01.log.gz -> 
logs/2021-01-03/test-2022-01-03-01.log.gz{code}
 

 

But this happens [ difference in step2 from IDEAL SCENARIO ]

 
{code:java}
logs/test.log -> logs/test-2022-01-03-01.log -> tmp/test-2022-01-03-01.log.gz 
-> logs/2021-01-03/test-2022-01-03-01.log.gz{code}
 

 

Here, even though the temp pattern folder is different, a temporary file is 
created in the destination which is then moved to tmp path.

 

Added attachment below on DEBUG log

 

 


> Rolling file process with tempCompressedFilePattern
> ---------------------------------------------------
>
>                 Key: LOG4J2-3313
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-3313
>             Project: Log4j 2
>          Issue Type: Improvement
>          Components: Appenders
>    Affects Versions: 2.15.0
>         Environment: I don't think the environment matters here but tested on 
> macOS Big Sur [ v 11.5.2 ]
>  
>            Reporter: Sriram R
>            Priority: Trivial
>         Attachments: Screenshot 2022-01-04 at 8.52.49 PM.png
>
>
> Let us take an example where we have a RollingFile
>  appender with a DefaultRollOverStrategy. 
> Let's consider the following values for
>  
> {code:java}
> fileName = "logs/test.log"
> filePattern = "logs/%d{yyyy-MM-dd}/test-%d{yyyy-MM-dd-HH-mm}.%i.log.gz" {code}
>  
>  
> When a rollover takes place, log4j2 first renames test.log and moves it to 
> the filePattern
>  path, and then compresses the file
>  
> {code:java}
> [ logs/test.log -> logs/2022-01-03/test-2021-01-03-01.1.log -> 
> logs/2022-01-03/test-2021-01-03-01.1.log.gz{code}
>  
>  
> Now let's consider a scenario where we also use tempCompressedFilePattern 
> with DefaultRolloverStrategy.
>  
> {code:java}
> tempCompressedFilePattern = 
> "tmp/%d{yyyy-MM-dd}/test-%d{yyyy-MM-dd-HH-mm}.%i.log.gz" {code}
>  
>  
> In this scenario, I would expect test.log to be renamed and moved to `tmp` 
> folder before being compressed but that's not the case
>  
> IDEAL SCENARIO
>  
> {code:java}
> logs/test.log -> tmp/2021-01-03/test-2022-01-03-01.log -> 
> tmp/test-2022-01-03-01.log.gz -> 
> logs/2021-01-03/test-2022-01-03-01.log.gz{code}
>  
>  
> But this happens [ difference in step2 from IDEAL SCENARIO ]
>  
> {code:java}
> logs/test.log -> logs/2021-01-03/test-2022-01-03-01.log -> 
> tmp/test-2022-01-03-01.log.gz -> 
> logs/2021-01-03/test-2022-01-03-01.log.gz{code}
>  
>  
> Here, even though the temp pattern folder is different, a temporary file is 
> created in the destination which is then moved to tmp path.
>  
> Added attachment below on DEBUG log
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to