Java slf4j Logger sleepMs(Logger logger, long timeMs)

Here you can find the source of sleepMs(Logger logger, long timeMs)

Description

Sleeps for the given number of milliseconds, reporting interruptions using the given logger.

License

Apache License

Parameter

Parameter Description
logger logger for reporting interruptions
timeMs sleep duration in milliseconds

Declaration

public static void sleepMs(Logger logger, long timeMs) 

Method Source Code

//package com.java2s;
/*//from   w  ww . j  a v  a2s.co m
 * Licensed to the University of California, Berkeley under one or more contributor license
 * agreements. See the NOTICE file distributed with this work for additional information regarding
 * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance with the License. You may obtain a
 * copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */

import org.slf4j.Logger;

public class Main {
    /**
     * Sleeps for the given number of milliseconds.
     *
     * @param timeMs sleep duration in milliseconds
     */
    public static void sleepMs(long timeMs) {
        sleepMs(null, timeMs);
    }

    /**
     * Sleeps for the given number of milliseconds, reporting interruptions using the given logger.
     *
     * @param logger logger for reporting interruptions
     * @param timeMs sleep duration in milliseconds
     */
    public static void sleepMs(Logger logger, long timeMs) {
        sleepMs(logger, timeMs, false);
    }

    /**
     * Sleeps for the given number of milliseconds, reporting interruptions using the given logger,
     * and optionally pass the interruption to the caller.
     *
     * @param logger logger for reporting interruptions
     * @param timeMs sleep duration in milliseconds
     * @param shouldInterrupt determines if interruption should be passed to the caller
     */
    public static void sleepMs(Logger logger, long timeMs, boolean shouldInterrupt) {
        try {
            Thread.sleep(timeMs);
        } catch (InterruptedException e) {
            // The null check is needed otherwise #sleeMs(long) will cause a NullPointerException
            // if the thread is interrupted
            if (logger != null) {
                logger.warn(e.getMessage(), e);
            }
            if (shouldInterrupt) {
                Thread.currentThread().interrupt();
            }
        }
    }
}

Related

  1. setDefaultLogger()
  2. setLogger(Logger logger)
  3. setOutputFile(String filename)
  4. setRequestId(String requestId)
  5. sleep(int milliseconds)
  6. stacktrace(Logger log, Throwable t)
  7. startTestLogging(String name)
  8. stopTestLogging()
  9. stringifyStackTrace(Exception e)