/** * Logback-beagle: The logback Console Plugin for Eclipse * Copyright (C) 2006-2012, QOS.ch. All rights reserved. * * This program and the accompanying materials are licensed under * the terms of the Eclipse Public License v1.0 as published by * the Eclipse Foundation. */ package ch.qos.logback.beagle; import java.io.IOException; import java.util.List; import ch.qos.logback.classic.Logger; import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.classic.corpus.Corpus; import ch.qos.logback.classic.corpus.CorpusModel; import ch.qos.logback.classic.spi.ILoggingEvent; import ch.qos.logback.classic.spi.PubLoggingEventVO; public class LoggingEventBuilder { static LoggerContext Logger_Context = new LoggerContext(); static Logger LOGGER = Logger_Context.getLogger("xx"); static String LONG_TEXT = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum lectus augue, pulvinar quis cursus nec, imperdiet nec ante. Cras sit amet arcu et enim adipiscing pellentesque. Suspendisse mi felis, dictum a lobortis nec, placerat in diam. Proin lobortis tortor at nunc facilisis aliquet. Praesent eget dignissim orci. Ut iaculis bibendum."; int count = 0; CorpusModel corpusModel; ILoggingEvent[] internalBuffer = new ILoggingEvent[0]; int lastServedIndex = 0; static int BUFFER_SIZE = 100; public LoggingEventBuilder() throws IOException { List<String> wordList = Corpus.getStandatdCorpusWordList(); corpusModel = new CorpusModel(112340, wordList); } public ILoggingEvent buildLoggingEvent() { if (lastServedIndex >= internalBuffer.length) { internalBuffer = Corpus.make(corpusModel, BUFFER_SIZE, true); shape(); lastServedIndex = 0; } return internalBuffer[lastServedIndex++]; } private void shape() { for (int i = 0; i < internalBuffer.length; i++) { PubLoggingEventVO le = (PubLoggingEventVO) internalBuffer[i]; if (i % 20 == 0) le.message = LONG_TEXT; else le.message = "msg " + count; count++; } } }