logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Clement Caylux (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (LOG4J2-907) Log4j2 rolling policy
Date Wed, 26 Nov 2014 17:51:12 GMT

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

Clement Caylux updated LOG4J2-907:
----------------------------------
    Description: 
I am using log4j2 and a rolling file appender, to roll file based on size and time. See my
attached config file config file and the following snippet:
{code:xml}
 <RollingFile name="RollingFile" filename="log/$${date:dd-MM-yyyy-HH-mm}/currentRoll.log"
filePattern="log/%d{dd-MM-yyyy-HH-mm}/Roll-%i.log">
            <PatternLayout>
                <Pattern>%d{ISO8601}{GMT} %p %c{1.c} [%t] %m%n</Pattern>
            </PatternLayout>

            <Policies>
                <TimeBasedTriggeringPolicy interval="1"/>
                <SizeBasedTriggeringPolicy size="3KB"/>
            </Policies>
        </RollingFile>
{code}
My problem is that my current log (currentRoll.log) file is in the folder that was first created
when the program started. I would need it to be in the last. So for example if I start running
the program at 1pm on November 25th, 2014 , and at 3pm I want to look at the current logs
they would not be in the 25-11-2014-15 folder but in the 25-11-2014-13 folder.

My guess is that the date in the filename is not resolved dynamically. I have tried using
monitorInterval to poll for auto reconfiguration but did not have any luck. I also tried using
a '$$' in   
{code:xml}
filename="log/$${date:dd-MM-yyyy-HH-mm}/currentRoll.log" .
{code}
 but got the following error:

{code}
ERROR Unable to create file log/${date:dd-MM-yyyy-HH-mm}/currentRoll.log java.io.IOException:
The filename, directory name, or volume label syntax is incorrect
{code}

Any suggestion?

  was:
I am using log4j2 and a rolling file appender, to roll file based on size and time. See my
attached config file config file and the following snippet:
{code:xml}
 <RollingFile name="RollingFile" filename="log/$${date:dd-MM-yyyy-HH-mm}/currentRoll.log"
filePattern="log/%d{dd-MM-yyyy-HH-mm}/Roll-%i.log">
            <PatternLayout>
                <Pattern>%d{ISO8601}{GMT} %p %c{1.c} [%t] %m%n</Pattern>
            </PatternLayout>

            <Policies>
                <TimeBasedTriggeringPolicy interval="1"/>
                <SizeBasedTriggeringPolicy size="3KB"/>
            </Policies>
        </RollingFile>
{code}
My problem is that my current log (currentRoll.log) file is in the folder that was first created
when the program started. I would need it to be in the last. So for example if I start running
the program at 1pm on November 25th, 2014 , and at 3pm I want to look at the current logs
they would not be in the 25-11-2014-15 folder but in the 25-11-2014-13 folder.

My guess is that the date in the filename is not resolved dynamically. I have tried using
monitorInterval to poll for auto reconfiguration but did not have any luck. I also tried using
a '$$' in   filename="log/$${date:dd-MM-yyyy-HH-mm}/currentRoll.log" . but got the following
error:

ERROR Unable to create file log/${date:dd-MM-yyyy-HH-mm}/currentRoll.log java.io.IOException:
The filename, directory name, or volume label syntax is incorrect


Any suggestion?


> Log4j2 rolling policy
> ---------------------
>
>                 Key: LOG4J2-907
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-907
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 2.1
>         Environment: windows 7 enterprise
>            Reporter: Clement Caylux
>         Attachments: log4j2.xml
>
>
> I am using log4j2 and a rolling file appender, to roll file based on size and time. See
my attached config file config file and the following snippet:
> {code:xml}
>  <RollingFile name="RollingFile" filename="log/$${date:dd-MM-yyyy-HH-mm}/currentRoll.log"
filePattern="log/%d{dd-MM-yyyy-HH-mm}/Roll-%i.log">
>             <PatternLayout>
>                 <Pattern>%d{ISO8601}{GMT} %p %c{1.c} [%t] %m%n</Pattern>
>             </PatternLayout>
>             <Policies>
>                 <TimeBasedTriggeringPolicy interval="1"/>
>                 <SizeBasedTriggeringPolicy size="3KB"/>
>             </Policies>
>         </RollingFile>
> {code}
> My problem is that my current log (currentRoll.log) file is in the folder that was first
created when the program started. I would need it to be in the last. So for example if I start
running the program at 1pm on November 25th, 2014 , and at 3pm I want to look at the current
logs they would not be in the 25-11-2014-15 folder but in the 25-11-2014-13 folder.
> My guess is that the date in the filename is not resolved dynamically. I have tried using
monitorInterval to poll for auto reconfiguration but did not have any luck. I also tried using
a '$$' in   
> {code:xml}
> filename="log/$${date:dd-MM-yyyy-HH-mm}/currentRoll.log" .
> {code}
>  but got the following error:
> {code}
> ERROR Unable to create file log/${date:dd-MM-yyyy-HH-mm}/currentRoll.log java.io.IOException:
The filename, directory name, or volume label syntax is incorrect
> {code}
> Any suggestion?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org


Mime
View raw message