[logback-dev] [JIRA] Created: (LBCORE-91) Add new TriggeringPolicy class to cause one rollover at the start of each run

Rick Beton (JIRA) noreply-jira at qos.ch
Fri Feb 27 15:14:47 CET 2009


Add new TriggeringPolicy class to cause one rollover at the start of each run
-----------------------------------------------------------------------------

                 Key: LBCORE-91
                 URL: http://jira.qos.ch/browse/LBCORE-91
             Project: logback-core
          Issue Type: New Feature
          Components: Appender
    Affects Versions: 0.9.15
         Environment: -
            Reporter: Rick Beton
            Assignee: Logback dev list
            Priority: Minor


A new TriggeringPolicy will cause the logfile to rollover once at startup when used with FixedWindowRollingPolicy. This is useful during development so that the logfiles of recent runs are still available.  Here is a candidate implementation.  Note that 

* <append>true</append> is required - otherwise the previous file is overwritten before rollover happens, so rollover results in a useless list of empty files.

* the documentation would need to warn users of the effect of running multiple applications concurrently (i.e. concurrent operating system processes) with the same logfiles. This applies even without the suggested feature.


package ch.qos.logback.core.rolling;

import java.io.File;

import ch.qos.logback.core.rolling.TriggeringPolicyBase;

/**
 * SimpleStartupTriggeringPolicy triggers a rollover once at startup only. This
 * is useful for preserving older logfiles during development.
 * 
 * @author Rick Beton
 */
public final class SimpleStartupTriggeringPolicy<E> extends TriggeringPolicyBase<E> {

    private boolean fired = false;


    public SimpleStartupTriggeringPolicy () {
        // does nothing
    }


    public boolean isTriggeringEvent( final File activeFile, final E event ) {
        final boolean result = !fired && (activeFile.length() > 0);
        fired = true;
        if (result) {
            addInfo( "Triggering rollover for " + activeFile );
        }
        return result;
    }
}


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the logback-dev mailing list