Java 类ch.qos.logback.core.rolling.TriggeringPolicy 实例源码

项目:bootique-logback    文件:FileAppenderFactory.java   
protected FileAppender<ILoggingEvent> createRollingFileAppender(Encoder<ILoggingEvent> encoder,
                                                                LoggerContext context,
                                                                RollingPolicyFactory rollingPolicy) {

    RollingFileAppender<ILoggingEvent> appender = new RollingFileAppender<>();
    appender.setFile(file);
    appender.setContext(context);
    appender.setEncoder(encoder);
    // Setup rolling policy
    RollingPolicy policy = rollingPolicy.createRollingPolicy(context);
    appender.setRollingPolicy(policy);
    policy.setParent(appender);
    // Setup triggering policy
    TriggeringPolicy<ILoggingEvent> triggeringPolicy = rollingPolicy.createTriggeringPolicy(context);
    if (triggeringPolicy != null) {
        appender.setTriggeringPolicy(triggeringPolicy);
        triggeringPolicy.start();
    }
    policy.start();
    appender.start();

    return appender;
}
项目:bootique-logback    文件:FixedWindowPolicyFactory.java   
@Override
public TriggeringPolicy<ILoggingEvent> createTriggeringPolicy(LoggerContext context) {
    SizeBasedTriggeringPolicy<ILoggingEvent> policy = new SizeBasedTriggeringPolicy<ILoggingEvent>();
    if (fileSize != null && fileSize.length() > 0) {
        policy.setMaxFileSize(FileSize.valueOf(fileSize));
    }
    policy.setContext(context);
    return policy;
}
项目:Lumberjack    文件:FileLoggingTree.java   
private void init(FileLoggingSetup setup)
{
    LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
    lc.reset();

    // 1) FileLoggingSetup - Encoder for File
    PatternLayoutEncoder encoder1 = new PatternLayoutEncoder();
    encoder1.setContext(lc);
    encoder1.setPattern(setup.mLogPattern);
    encoder1.start();

    // 2) FileLoggingSetup - rolling file appender
    RollingFileAppender<ILoggingEvent> rollingFileAppender = new RollingFileAppender<ILoggingEvent>();
    rollingFileAppender.setAppend(true);
    rollingFileAppender.setContext(lc);
    //rollingFileAppender.setFile(setup.mFolder + "/" + setup.mFileName + "." + setup.mFileExtension);

    // 3) FileLoggingSetup - Rolling policy (one log per day)
    TriggeringPolicy<ILoggingEvent> triggeringPolicy = null;
    switch (setup.mMode)
    {
        case DateFiles:
        {
            TimeBasedRollingPolicy timeBasedRollingPolicy = new TimeBasedRollingPolicy<ILoggingEvent>();
            timeBasedRollingPolicy.setFileNamePattern(setup.mFolder + "/" + setup.mFileName + "_%d{yyyyMMdd}." + setup.mFileExtension);
            timeBasedRollingPolicy.setMaxHistory(setup.mLogsToKeep);
            timeBasedRollingPolicy.setCleanHistoryOnStart(true);
            timeBasedRollingPolicy.setParent(rollingFileAppender);
            timeBasedRollingPolicy.setContext(lc);

            triggeringPolicy = timeBasedRollingPolicy;
            break;
        }
        case NumberedFiles:
        {
            FixedWindowRollingPolicy fixedWindowRollingPolicy = new FixedWindowRollingPolicy();
            fixedWindowRollingPolicy.setFileNamePattern(setup.mFolder + "/" + setup.mFileName + "%i." + setup.mFileExtension);
            fixedWindowRollingPolicy.setMinIndex(1);
            fixedWindowRollingPolicy.setMaxIndex(setup.mLogsToKeep);
            fixedWindowRollingPolicy.setParent(rollingFileAppender);
            fixedWindowRollingPolicy.setContext(lc);

            SizeBasedTriggeringPolicy<ILoggingEvent> sizeBasedTriggeringPolicy = new SizeBasedTriggeringPolicy<>();
            sizeBasedTriggeringPolicy.setMaxFileSize(setup.mNumberedFileSizeLimit);

            triggeringPolicy = sizeBasedTriggeringPolicy;

            rollingFileAppender.setFile(FileLoggingUtil.getDefaultLogFile(setup));
            rollingFileAppender.setRollingPolicy(fixedWindowRollingPolicy);
            fixedWindowRollingPolicy.start();

            break;
        }
    }
    triggeringPolicy.start();

    rollingFileAppender.setTriggeringPolicy(triggeringPolicy);
    rollingFileAppender.setEncoder(encoder1);
    rollingFileAppender.start();

    // add the newly created appenders to the root logger;
    // qualify Logger to disambiguate from org.slf4j.Logger
    ch.qos.logback.classic.Logger root = (ch.qos.logback.classic.Logger) mLogger;
    root.detachAndStopAllAppenders();
    root.addAppender(rollingFileAppender);
}
项目:bootique-logback    文件:TimeBasedPolicyFactory.java   
@Override
public TriggeringPolicy<ILoggingEvent> createTriggeringPolicy(LoggerContext context) {
    return null; // There is no triggering policy
}
项目:bootique-logback    文件:RollingPolicyFactory.java   
/**
 * Creates triggering policy for rotation, if it is necessary.
 *
 * @param context
 *            a logger context
 * @return triggering policy for rotation or null
 */
public abstract TriggeringPolicy<ILoggingEvent> createTriggeringPolicy(LoggerContext context);