com.qagen.osfe.common.utils.Log.java Source code

Java tutorial

Introduction

Here is the source code for com.qagen.osfe.common.utils.Log.java

Source

/* Copyright 2008 Hycel Taylor
 *
 * Licensed 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.
 */
package com.qagen.osfe.common.utils;

import org.apache.commons.logging.LogFactory;

public final class Log {

    private org.apache.commons.logging.Log realLog;

    /**
     * Get a Log instance to perform logging within the Class specified.  Returns an instance
     * of this class which wraps an instance of the commons logging Log class.
     *
     * @param clazz the Class which is going to be doing the logging
     * @return a Log instance with which to log
     */
    public static Log getInstance(Class<?> clazz) {
        return new Log(LogFactory.getLog(clazz));
    }

    /**
     * Forces Log to cleanup any cached resources. This is called by the StripesFilter when
     * it is destroyed, but can be called from user code as well if necessary.
     */
    public static void cleanup() {
        LogFactory.release(Thread.currentThread().getContextClassLoader());
    }

    /**
     * Private constructor which creates a new Log instance wrapping the commons Log instance
     * provided.  Only used by the static getInstance() method on this class.
     */
    private Log(org.apache.commons.logging.Log realLog) {
        this.realLog = realLog;
    }

    /**
     * Logs a Throwable and optional message parts at level fatal.
     *
     * @param throwable    an instance of Throwable that should be logged with stack trace
     * @param messageParts zero or more objects which should be combined, by calling toString()
     *                     to form the log message.
     */
    public final void fatal(Throwable throwable, Object... messageParts) {
        if (this.realLog.isFatalEnabled()) {
            this.realLog.fatal(StringUtil.combineParts(messageParts), throwable);
        }
    }

    /**
     * Logs a Throwable and optional message parts at level error.
     *
     * @param throwable    an instance of Throwable that should be logged with stack trace
     * @param messageParts zero or more objects which should be combined, by calling toString()
     *                     to form the log message.
     */
    public final void error(Throwable throwable, Object... messageParts) {
        if (this.realLog.isErrorEnabled()) {
            this.realLog.error(StringUtil.combineParts(messageParts), throwable);
        }
    }

    /**
     * Logs a Throwable and optional message parts at level warn.
     *
     * @param throwable    an instance of Throwable that should be logged with stack trace
     * @param messageParts zero or more objects which should be combined, by calling toString()
     *                     to form the log message.
     */
    public final void warn(Throwable throwable, Object... messageParts) {
        if (this.realLog.isWarnEnabled()) {
            this.realLog.warn(StringUtil.combineParts(messageParts), throwable);
        }
    }

    /**
     * Logs a Throwable and optional message parts at level info.
     *
     * @param throwable    an instance of Throwable that should be logged with stack trace
     * @param messageParts zero or more objects which should be combined, by calling toString()
     *                     to form the log message.
     */
    public final void info(Throwable throwable, Object... messageParts) {
        if (this.realLog.isInfoEnabled()) {
            this.realLog.info(StringUtil.combineParts(messageParts), throwable);
        }
    }

    /**
     * Logs a Throwable and optional message parts at level debug.
     *
     * @param throwable    an instance of Throwable that should be logged with stack trace
     * @param messageParts zero or more objects which should be combined, by calling toString()
     *                     to form the log message.
     */
    public final void debug(Throwable throwable, Object... messageParts) {
        if (this.realLog.isDebugEnabled()) {
            this.realLog.debug(StringUtil.combineParts(messageParts), throwable);
        }
    }

    /**
     * Logs a Throwable and optional message parts at level trace.
     *
     * @param throwable    an instance of Throwable that should be logged with stack trace
     * @param messageParts zero or more objects which should be combined, by calling toString()
     *                     to form the log message.
     */
    public final void trace(Throwable throwable, Object... messageParts) {
        if (this.realLog.isTraceEnabled()) {
            this.realLog.trace(StringUtil.combineParts(messageParts), throwable);
        }
    }

    // Similar methods, but without Throwables, follow

    /**
     * Logs one or more message parts at level fatal.
     *
     * @param messageParts one or more objects which should be combined, by calling toString()
     *                     to form the log message.
     */
    public final void fatal(Object... messageParts) {
        if (this.realLog.isFatalEnabled()) {
            this.realLog.fatal(StringUtil.combineParts(messageParts));
        }
    }

    /**
     * Logs one or more message parts at level error.
     *
     * @param messageParts one or more objects which should be combined, by calling toString()
     *                     to form the log message.
     */
    public final void error(Object... messageParts) {
        if (this.realLog.isErrorEnabled()) {
            this.realLog.error(StringUtil.combineParts(messageParts));
        }
    }

    /**
     * Logs one or more message parts at level warn.
     *
     * @param messageParts one or more objects which should be combined, by calling toString()
     *                     to form the log message.
     */
    public final void warn(Object... messageParts) {
        if (this.realLog.isWarnEnabled()) {
            this.realLog.warn(StringUtil.combineParts(messageParts));
        }
    }

    /**
     * Logs one or more message parts at level info.
     *
     * @param messageParts one or more objects which should be combined, by calling toString()
     *                     to form the log message.
     */
    public final void info(Object... messageParts) {
        if (this.realLog.isInfoEnabled()) {
            this.realLog.info(StringUtil.combineParts(messageParts));
        }
    }

    /**
     * Logs one or more message parts at level debug.
     *
     * @param messageParts one or more objects which should be combined, by calling toString()
     *                     to form the log message.
     */
    public final void debug(Object... messageParts) {
        if (this.realLog.isDebugEnabled()) {
            this.realLog.debug(StringUtil.combineParts(messageParts));
        }
    }

    /**
     * Logs one or more message parts at level trace.
     *
     * @param messageParts one or more objects which should be combined, by calling toString()
     *                     to form the log message.
     */
    public final void trace(Object... messageParts) {
        if (this.realLog.isTraceEnabled()) {
            this.realLog.trace(StringUtil.combineParts(messageParts));
        }
    }

}