the first logging event _after_ the time period computed should roll the file over, however if there is any failure (perhaps because another process has the file handle open, a common problem on Windows), the rollover can fail, and you'll need to wait to the next window (another month).

When the failure occurs, it does log to StdErr (from the source code to DailyRollingFileAppender):

  protected void subAppend(LoggingEvent event) {
      long n = System.currentTimeMillis();
      if (n >= nextCheck) {
          now.setTime(n);
          nextCheck = rc.getNextCheckMillis(now);
          try {
              rollOver();
          }
          catch(IOException ioe) {
              if (ioe instanceof InterruptedIOException) {
                  Thread.currentThread().interrupt();
              }
              LogLog.error("rollOver() failed.", ioe);
          }
      }
      super.subAppend(event);
  }

It tries it's best to continue logging until next roll over period.

Paul

On 11/05/2009, at 9:31 PM, Marc Farrow wrote:


This is a fairly simple question. Does anyone that maintains or create LOG4J
read these posts anymore?

Thanks.

--
View this message in context: 
http://www.nabble.com/DailyRollingAppender---How-does-it-know-when-to-rollover--tp23390773p23481523.html
Sent from the Log4j - Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org


Paul Smith
Production Engineering Manager

Aconex
The easy way to save time and money on your project

696 Bourke Street, Melbourne,
VIC 3000, Australia
Tel: +61 3 9240 0200  Fax: +61 3 9240 0299
Email: psm...@aconex.com  www.aconex.com

This email and any attachments are intended solely for the addressee. The contents may be privileged, confidential and/or subject to copyright or other applicable law. No confidentiality or privilege is lost by an erroneous transmission. If you have received this e-mail in error, please let us know by reply e-mail and delete or destroy this mail and all copies. If you are not the intended recipient of this message you must not disseminate, copy or take any action in reliance on it. The sender takes no responsibility for the effect of this message upon the recipient's computer system.




Reply via email to