Java 类ch.qos.logback.core.read.CyclicBufferAppender 实例源码

项目:test-logger    文件:TestLoggerRuleTest.java   
@Before
public void setup() throws Throwable {
    appender = new CyclicBufferAppender<>();
    appender.setContext(loggerContext);
    appender.start();

    testLogger = LoggerFactory.getLogger(LOGGER_NAME);
    ch.qos.logback.classic.Logger logger = loggerContext.getLogger("ROOT");
    logger.addAppender(appender);
    logger.setLevel(ch.qos.logback.classic.Level.INFO);

    testLoggerRule.before();
}
项目:ha-bridge    文件:SystemControl.java   
void reacquireCBA() {
  cyclicBufferAppender = (CyclicBufferAppender<ILoggingEvent>) lc.getLogger(
      Logger.ROOT_LOGGER_NAME).getAppender(CYCLIC_BUFFER_APPENDER_NAME);
  cyclicBufferAppender.setMaxSize(bridgeSettings.getBridgeSettingsDescriptor().getNumberoflogmessages());
}
项目:olfs    文件:OlfsControlApi.java   
private String getOlfsLog(String lines) {
    StringBuilder logContent = new StringBuilder();
    int count = -1;

    CyclicBufferAppender cyclicBufferAppender = getCyclicBufferAppender();

    if(lines!=null){

        try {
            int maxLines = Integer.parseInt(lines);

            if(maxLines>0 && maxLines<20000 && cyclicBufferAppender!=null)
                cyclicBufferAppender.setMaxSize(maxLines);

        }
        catch(NumberFormatException e){
            log.error("Failed to parse the value of the parameter 'lines': {}",Scrub.integerString(lines));
        }

    }




    if (cyclicBufferAppender != null) {
        count = cyclicBufferAppender.getLength();
    }

    if (count == -1) {
        logContent.append("Failed to locate CyclicBuffer content!\n");
    } else if (count == 0) {
        logContent.append("No logging events to display.\n");
    } else {
        LoggingEvent le;
        for (int i = 0; i < count; i++) {
            le = (LoggingEvent) cyclicBufferAppender.get(i);
            //logContent.append(StringEscapeUtils.escapeHtml(formatLoggingEvent(le)));
            logContent.append(formatLoggingEvent(le));
        }
    }

    return logContent.toString();
}