logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Richard Kolb <rjdk...@gmail.com>
Subject Re: Intermittent log file compression issue
Date Wed, 25 Mar 2015 07:20:31 GMT
Hi Remko

On 25 March 2015 at 04:21, Remko Popma <remko.popma@gmail.com> wrote:

> So, if you specify the config location with system property
> "log4j.configurationFile" then old log files are compressed correctly on
> rollover, correct?
>

Correct.
I specify with the parameter  -Dlog4j.configurationFile=file:../log4j2.xml
When I did my tests on the command line I specified an absolute path to
log4j2.xml

See the attached screen shot of the logs that got archived and then
suddenly not.
I specified the log paths and gzip paths as an absolute directory.

1) This file got gzipped :

  *2015-03-25 08:55:37,315 DEBUG RollingFileManager executing synchronous
FileRenameAction[C:\usr\local\applications\work*
*-api\domain\work-api\logs\audit.log
to C:\usr\local\applications\work-api\domain\work-api\logs\2015-03\aud*
 *it-2015-03-25_08_54-1.log,
renameEmptyFiles=false]*  *2015-03-25 08:55:37,315 DEBUG RollingFileManager
executing async GzCompressAction[C:\usr\local\applications\work-api*
*\domain\work-api\logs\2015-03\audit-2015-03-25_08_54-1.log
to C:\usr\local\applications\work-api\domain\work*
*-api\logs\2015-03\audit-2015-03-25_08_54-1.log.gz,
deleteSource=true]*

2) This one did the move but not the gzip

  *2015-03-25 08:56:05,817 TRACE PatternProcessor.getNextTime returning
2015/03/25-08:57:00.000, nextFileTime=2015/03/25-08*  *:56:00.000,
prevFileTime=2015/03/25-08:55:00.000, current=2015/03/25-08:56:05.817,
freq=EVERY_MINUTE*  *2015-03-25 08:56:05,832 TRACE
DefaultRolloverStrategy.purge() took 0.004088928 seconds*  *2015-03-25
08:56:05,832 DEBUG RollingFileManager executing synchronous
FileRenameAction[C:\usr\local\applications\work*
*-api\domain\work-api\logs\audit.log
to C:\usr\local\applications\work-api\domain\work-api\logs\2015-03\aud*
 *it-2015-03-25_08_55-1.log,
renameEmptyFiles=false]*
It seems the GzCompressAction log never comes up.



> If you include the config file in your application jar and rely on the
> classpath then what happens? Is rollover the only thing that breaks?
>

I have not tried this yet. I will do that now.


>
> In the latter case, have you tried an absolute path?
> (You can use an env: or sys: lookup to make the absolute path prefix
> configurable, for example
> filePath="${sys:logdir}/$${date:yyyy-MM}/fault-%d{yyyy-MM-dd_hh_mm}-%i.log.gz"
> where the value of system property "logdir" is an absolute path.)
>

Thanks, yes I did this in the above tests.

regards,
Richard.



>
> Sent from my iPhone
>
> > On 2015/03/24, at 23:42, Richard Kolb <rjdkolb@gmail.com> wrote:
> >
> > Hi Remko,
> >
> > Thanks, very much.
> > Changing FilePattern to filePattern did not solve the issue.
> > The * was an typeo in the email, sorry for that.
> >
> > I am still experiencing the same issue inside the container and I can't
> > recreate the issue with the same log4j2.xml outside the container.
> >
> > Next step is to check the log4j2 fine logs and I will report back.
> >
> > Regards,
> > Richard.
> > Can you try filePattern with a lower-case 'f' and remove the '*'
> characters
> > from the filePattern path?
> >
> > For example:
> >> FilePattern="
> >> *logs/$${date:yyyy-MM}/fault-%d{yyyy-MM-dd_hh_mm}-%i.log.gz*"
> >
> >
> > Should be
> >> filePattern="
> >> logs/$${date:yyyy-MM}/fault-%d{yyyy-MM-dd_hh_mm}-%i.log.gz"
> >
> >
> > Regards,
> > Remko
> >
> > Sent from my iPhone
> >
> >> On 2015/03/24, at 17:12, Richard Kolb <rjdkolb@gmail.com> wrote:
> >>
> >> Hello,
> >>
> >> I am using log4j 2.2 on Windows 2008 using Java 7 and I'm experiencing
> an
> >> intermittent issue where my log files used to compress, but now just
> move
> >> to the archive directory uncompressed.
> >>
> >> To debug, I changed the file pattern to be on the minute level (in
> bold),
> >> and I am getting the same issue
> >>
> >> Any help would be greatly be appreciated..
> >>
> >> thanks,
> >> Richard.
> >>
> >> <?xml version="1.0" encoding="UTF-8"?>
> >> <Configuration status="TRACE" name="API" packages=""
> > monitorInterval="30">
> >>   <Appenders>
> >>   <RollingRandomAccessFile name="CatchAll" fileName="logs/all.log"
> >> immediateFlush="false" append="true"
> >> FilePattern="logs/$${date:yyyy-MM}/all-%d{yyyy-MM-dd}-%i.log.gz">
> >>     <PatternLayout>
> >>       <Pattern>%d %m%n</Pattern>
> >>     </PatternLayout>
> >>           <Policies>
> >>               <TimeBasedTriggeringPolicy interval="1" modulate="true" />
> >>               <SizeBasedTriggeringPolicy size="2 GB"/>
> >>           </Policies>
> >>           <DefaultRolloverStrategy max="20"/>
> >>   </RollingRandomAccessFile>
> >>   <RollingRandomAccessFile name="Audit" fileName="logs/audit.log"
> >> immediateFlush="false" append="true"
> >>
> FilePattern="logs/$${date:yyyy-MM}/audit-%d{yyyy-MM-dd_hh_mm}-%i.log.gz">
> >>     <PatternLayout>
> >>       <Pattern>%d %m%n</Pattern>
> >>     </PatternLayout>
> >>           <Policies>
> >>               <TimeBasedTriggeringPolicy interval="1" modulate="true" />
> >>               <SizeBasedTriggeringPolicy size="2 GB"/>
> >>           </Policies>
> >>           <DefaultRolloverStrategy max="20"/>
> >>   </RollingRandomAccessFile>
> >>   <RollingRandomAccessFile name="Fault" fileName="logs/fault.log"
> >> immediateFlush="false" append="true" FilePattern="
> >> *logs/$${date:yyyy-MM}/fault-%d{yyyy-MM-dd_hh_mm}-%i.log.gz*">
> >>     <PatternLayout>
> >>       <Pattern>%d %m%n</Pattern>
> >>     </PatternLayout>
> >>           <Policies>
> >>               <TimeBasedTriggeringPolicy interval="1" modulate="true" />
> >>               <SizeBasedTriggeringPolicy size="2 GB"/>
> >>           </Policies>
> >>           <DefaultRolloverStrategy max="20"/>
> >>   </RollingRandomAccessFile>
> >>
> >>
> >>  <RollingRandomAccessFile name="LegacyAudit"
> >> fileName="logs/webservices.log" immediateFlush="false" append="true"
> >> FilePattern="
> >> *logs/$${date:yyyy-MM}/webservices-%d{yyyy-MM-dd_hh_mm}-%i.log.gz*">
> >>     <PatternLayout>
> >>       <Pattern>%d %m%n</Pattern>
> >>     </PatternLayout>
> >>           <Policies>
> >>               <TimeBasedTriggeringPolicy interval="1" modulate="true" />
> >>               <SizeBasedTriggeringPolicy size="2 GB"/>
> >>           </Policies>
> >>           <DefaultRolloverStrategy max="20"/>
> >>   </RollingRandomAccessFile>
> >>
> >>
> >>
> >>   </Appenders>
> >> <!-- Don't forget to set system property for Async
> >
> -DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
> >>    to make all loggers asynchronous. -->
> >>   <Loggers>
> >>       <Logger name="x.FcapsInterceptor" level="trace">
> >>           <AppenderRef ref="Audit"/>
> >>       </Logger>
> >>       <Logger name="x.FcapsRpcInterceptor" level="trace">
> >>           <AppenderRef ref="*LegacyAudit*"/>
> >>       </Logger>
> >>
> >>      <Logger name="x.Fault" level="trace">
> >>           <AppenderRef ref="*Fault*"/>
> >>       </Logger>
> >>   <!--Root level="trace">
> >>     <AppenderRef ref="CatchAll"/>
> >>   </Root-->
> >>   </Loggers>
> >> </Configuration>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> > For additional commands, e-mail: log4j-user-help@logging.apache.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org
>
>

Mime
View raw message