Wrapper function that enables logger invocation with log level as a parameter
Change-Id: I999ef173ffbc60ccc31795d107142cb4d671145b
diff --git a/utils/misc/src/main/java/org/onlab/util/Tools.java b/utils/misc/src/main/java/org/onlab/util/Tools.java
index ebcf472..7725ace 100644
--- a/utils/misc/src/main/java/org/onlab/util/Tools.java
+++ b/utils/misc/src/main/java/org/onlab/util/Tools.java
@@ -860,4 +860,41 @@
ZoneId.systemDefault());
}
+ /**
+ * Log level for the customized logger.
+ */
+ public enum LogLevel {
+ TRACE, DEBUG, INFO, WARN, ERROR
+ }
+
+ /**
+ * Wrapper function that enables logger invocation with log level as a parameter.
+ *
+ * @param logger logger
+ * @param level log level
+ * @param format format string
+ * @param args objects
+ */
+ public static void log(Logger logger, LogLevel level, String format, Object... args) {
+ switch (level) {
+ case TRACE:
+ logger.trace(format, args);
+ break;
+ case DEBUG:
+ logger.debug(format, args);
+ break;
+ case INFO:
+ logger.info(format, args);
+ break;
+ case WARN:
+ logger.warn(format, args);
+ break;
+ case ERROR:
+ logger.error(format, args);
+ break;
+ default:
+ log.error("Unknown log level {}", level);
+ break;
+ }
+ }
}