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