logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Curt Arnold <carn...@apache.org>
Subject Re: setting maxBackupIndex to high values hangs my app
Date Fri, 15 May 2009 02:09:45 GMT
Actually surprised, I thought there was a upper limit on the  
maxBackupIndex.  If you have a high maxBackupIndex and a file rolls,  
it will attempt to sequentially rename all the files.

Renaming is a risky and time-consuming operation, it would be much  
more reliable and faster if an appender just incremented the log file  
name and started a new log file.


On May 14, 2009, at 4:48 PM, <prubel@bbn.com> <prubel@bbn.com> wrote:

>
> I have an application that uses the RollingFileAppender under log4j  
> 1.2.15
> on 64-bit linux on intel.
>  prubel@host /tmp/pr $ java -version
>  java version "1.6.0_07"
>  Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
>  Java HotSpot(TM) 64-Bit Server VM (build 10.0-b23, mixed mode)
>
> I'd like to roll the logs, but effectively want to not have a limit on
> how many can be generated. I tried setting the MaxBackupIndex to
> something high, like 10 million. However, when the value gets to
> 100,000 or higher my app pauses. This seems to happen about the time a
> roll happens. The pauses seem to get longer the higher the value of
> MaxBackupIndex and start at the first roll. If I lower the
> MaxBackupIndex things speed up again.
>
> Two things.
>
> 1) Is there a better way to say, "just keep rolling"?
>
> 2) This seems like a bug. I'd expect the time to be just about the
> same regardless of how many files already exist or the value of
> MaxBackupIndex, at least up to the limit of an int.  I've included two
> files, a properties file and a java source. By increasing and
> decreasing the value of maxBackupIndex I've been able to reproduce
> this on the two systems I've tested on.
>
> Thanks for your help and your great software, I've been a happy log4j
> user for quite a while.
>
>      Paul
>
> log4j.appender.file=org.apache.log4j.RollingFileAppender
> log4j.appender.file.maxFileSize=1KB
> log4j.appender.file.maxBackupIndex=1000000
> log4j.appender.file.File=test.log
> log4j.appender.file.threshold=info
> log4j.appender.file.layout=org.apache.log4j.PatternLayout
> log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}: 
> %L - %m%n
> log4j.rootLogger=TRACE, file
>
>
> import org.apache.log4j.Logger;
> import org.apache.log4j.PropertyConfigurator;
>
> public class MBI {
>  private static Logger logger = Logger.getLogger(MBI.class);
>
>  public static void main(String args[]) {
>   PropertyConfigurator.configure("log4j.properties");
>   int max = 1000;
>    for (int i = 0; i < max; i++) {
>      logger.info("TEST " + i);
>    }
>  }
> }
>
> ---------------------------------------------------------------------
> 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