001/** 002 * Logback: the reliable, generic, fast and flexible logging framework. 003 * Copyright (C) 1999-2015, QOS.ch. All rights reserved. 004 * 005 * This program and the accompanying materials are dual-licensed under 006 * either the terms of the Eclipse Public License v1.0 as published by 007 * the Eclipse Foundation 008 * 009 * or (per the licensee's choosing) 010 * 011 * under the terms of the GNU Lesser General Public License version 2.1 012 * as published by the Free Software Foundation. 013 */ 014package ch.qos.logback.classic.issue.lbclassic135; 015 016import org.slf4j.Logger; 017import ch.qos.logback.core.contention.RunnableWithCounterAndDone; 018 019public class LoggingRunnable extends RunnableWithCounterAndDone { 020 021 final Logger logger; 022 final int burstLength; 023 024 public LoggingRunnable(Logger logger, int burstLength) { 025 this.logger = logger; 026 this.burstLength = burstLength; 027 } 028 029 public LoggingRunnable(Logger logger) { 030 this(logger, 10); 031 } 032 033 public void run() { 034 while (!isDone()) { 035 logger.info("hello world ABCDEFGHI"); 036 counter++; 037 // don't hog the CPU forever 038 if (counter % burstLength == 0) { 039 try { 040 Thread.sleep(1); 041 } catch (InterruptedException e) { 042 e.printStackTrace(); 043 } 044 } 045 } 046 } 047 048}