[ 
https://issues.apache.org/jira/browse/LOG4J2-1766?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16063326#comment-16063326
 ] 

ASF GitHub Bot commented on LOG4J2-1766:
----------------------------------------

Github user garydgregory commented on a diff in the pull request:

    https://github.com/apache/logging-log4j2/pull/88#discussion_r124051332
  
    --- Diff: 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java
 ---
    @@ -83,6 +85,195 @@
         private static final int DEFAULT_WINDOW_SIZE = 7;
     
         /**
    +     * Builds DefaultRolloverStrategy instances.
    +     */
    +    public static class Builder implements 
org.apache.logging.log4j.core.util.Builder<DefaultRolloverStrategy> {
    +        @PluginBuilderAttribute("max")
    +        private String max;
    +        
    +        @PluginBuilderAttribute("min")
    +        private String min;
    +        
    +        @PluginBuilderAttribute("fileIndex")
    +        private String fileIndex;
    +
    +        @PluginBuilderAttribute("compressionLevel")
    +        private String compressionLevelStr;
    +
    +        @PluginElement("Actions")
    +        private Action[] customActions;
    +
    +        @PluginBuilderAttribute(value = "stopCustomActionsOnError")
    +        private boolean stopCustomActionsOnError = true;
    +
    +        @PluginBuilderAttribute(value = "compressTmpFilePattern")
    --- End diff --
    
    I like the original name from the ticket better: 
"temporaryCompressedFilePattern". I do not think we use "tmp" much if at all. 
IMO, if we want short "temp" would be friendlier: "tempCompressedFilePattern",


> Distinguish between partial and completed .gz archive file
> ----------------------------------------------------------
>
>                 Key: LOG4J2-1766
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1766
>             Project: Log4j 2
>          Issue Type: New Feature
>    Affects Versions: 2.5
>            Reporter: Sameer Pradhan
>              Labels: features
>
> I have the following log configuration.
> {code:xml}
>     <RollingRandomAccessFile name="RollingReqAppender"
>         fileName="/usr/test/req.log"
>         filePattern="/usr/test/req.log.%d{yyyy-MM-dd-HH}.%i.gz"
>         immediateFlush="true" append="true">
>         <PatternLayout>
>             <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS Z}%m%n</Pattern>
>         </PatternLayout>
>         <Policies>
>             <SizeBasedTriggeringPolicy size="500 MB"/>
>             <TimeBasedTriggeringPolicy interval="1" modulate="true" />
>         </Policies>
>     </RollingRandomAccessFile>
> {code}
> When the log is rolled over (based on time or size), it is gzipped. Gzipping 
> the file takes some time (seconds to minutes depending on load). The problem 
> is that the file is gzipped in place, and while it is being gzipped, the 
> partially gzipped file is stored in the same folder with the same name as the 
> final gzip file. e.g.: {{/usr/test/req.log.2017-01-03-02.1.gz}}
> This causes problems for the file's consumer, which attempts to process the 
> partial file. I want to be able to distinguish between a partial gzipped file 
> and a completed gzipped file. For example, I would like to setup a 
> configuration that while the file is being gzipped, it is written with a 
> different name e.g.: {{/usr/test/req.log.2017-01-03-02.1.gz.temp}} and once 
> it is completely gzipped the name is changed to the final name 
> {{/usr/test/req.log.2017-01-03-02.1.gz}}
> One way to achieve this is to add a new parameter like 
> "temporaryCompressedFilePattern" as follows:
> {code:xml}
> <RollingRandomAccessFile name="RollingReqAppender"
>         fileName="/usr/test/req.log"
>         filePattern="/usr/test/req.log.%d{yyyy-MM-dd-HH}.%i.gz"
>         
> temporaryCompressedFilePattern="/usr/test/req.log.%d{yyyy-MM-dd-HH}.%i.gz.temp"
> {code}
> Another option is to make such behavior the default behavior without adding a 
> new parameter.
>  
> This was first discussed at 
> http://stackoverflow.com/questions/41457492/partial-gz-file-written-by-log4j2
> Creating this feature request as suggested by @rpopma



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to