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