All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.knopflerfish.service.log.LogUtil Maven / Gradle / Ivy

/*
 * Copyright (c) 2003, KNOPFLERFISH project
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following
 * conditions are met:
 *
 * - Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 *
 * - Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials
 *   provided with the distribution.
 *
 * - Neither the name of the KNOPFLERFISH project nor the names of its
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 * OF THE POSSIBILITY OF SUCH DAMAGE.
 */

package org.knopflerfish.service.log;

import org.osgi.service.log.LogService;

/**
 * * Utility class for the LogService interface. * It exports methods that
 * translates between the numeric values of * the severity level constants and
 * human readable strings.
 */

public class LogUtil {
    /**
     * * Converts from a numeric log severity level to a string. * *
     * 
     * @param level
     *            is the log severity level.
     * @return TODO
     */
    static public String fromLevel(int level) {
        return fromLevel(level, 0);
    }

    /**
     * * Converts from a numeric log severity level to a left justified * string
     * of at least the given length. * *
     * 
     * @param level
     *            is the log severity level. *
     * @param length
     *            the minimum length of the resulting string.
     * @return TODO
     */
    static public String fromLevel(int level, int length) {
        StringBuffer sb = new StringBuffer(length > 7 ? length : 7);
        switch (level) {
        case LogService.LOG_INFO:
            sb.append("info");
            break;
        case LogService.LOG_DEBUG:
            sb.append("debug");
            break;
        case LogService.LOG_WARNING:
            sb.append("Warning");
            break;
        case LogService.LOG_ERROR:
            sb.append("ERROR");
            break;
        case 0:
            sb.append("DEFAULT");
            break;
        default:
            sb.append("[");
            sb.append(level);
            sb.append("]");
        }
        for (int i = sb.length(); i < length; i++) {
            sb.append(" ");
        }
        return sb.toString();
    }

    /**
     * * Converts a string representing a log severity level to an int. * *
     * 
     * @param level
     *            The string to convert. *
     * @param def
     *            Default value to use if the string is not * recognized as a
     *            log level. *
     * @return the log level, or the default value if the string can * not be
     *         recognized.
     */
    static public int toLevel(String level, int def) {
        if (level.equalsIgnoreCase("INFO")) {
            return LogService.LOG_INFO;
        } else if (level.equalsIgnoreCase("DEBUG")) {
            return LogService.LOG_DEBUG;
        } else if (level.equalsIgnoreCase("WARNING")) {
            return LogService.LOG_WARNING;
        } else if (level.equalsIgnoreCase("ERROR")) {
            return LogService.LOG_ERROR;
        } else if (level.equalsIgnoreCase("DEFAULT")) {
            return 0;
        }
        return def;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy