SLF4J implementation.
[lgpl/argeo-commons.git] / org.argeo.api / src / org / apache / commons / logging / Log.java
diff --git a/org.argeo.api/src/org/apache/commons/logging/Log.java b/org.argeo.api/src/org/apache/commons/logging/Log.java
new file mode 100644 (file)
index 0000000..4c4f8b4
--- /dev/null
@@ -0,0 +1,151 @@
+package org.apache.commons.logging;
+
+import java.lang.System.Logger;
+import java.lang.System.Logger.Level;
+import java.util.Objects;
+
+/** A pseudo implementation of Apache Commons Logging. */
+public interface Log {
+       Logger getLogger();
+
+       default boolean isDebugEnabled() {
+               return getLogger().isLoggable(Level.DEBUG);
+       }
+
+       default boolean isErrorEnabled() {
+               return getLogger().isLoggable(Level.ERROR);
+       }
+
+       default boolean isInfoEnabled() {
+               return getLogger().isLoggable(Level.INFO);
+       }
+
+       default boolean isTraceEnabled() {
+               return getLogger().isLoggable(Level.TRACE);
+       }
+
+       default boolean isWarnEnabled() {
+               return getLogger().isLoggable(Level.WARNING);
+       }
+
+       /*
+        * TRACE
+        */
+
+       default void trace(String message) {
+               getLogger().log(Level.TRACE, message);
+       }
+
+       default void trace(Object message) {
+               getLogger().log(Level.TRACE, Objects.requireNonNull(message));
+       }
+
+       default void trace(String message, Throwable t) {
+               getLogger().log(Level.TRACE, message, t);
+       }
+
+       default void trace(Object message, Throwable t) {
+               trace(Objects.requireNonNull(message).toString(), t);
+       }
+
+       default void trace(String format, Object... arguments) {
+               getLogger().log(Level.TRACE, format, arguments);
+       }
+
+       /*
+        * DEBUG
+        */
+
+       default void debug(String message) {
+               getLogger().log(Level.DEBUG, message);
+       }
+
+       default void debug(Object message) {
+               getLogger().log(Level.DEBUG, message);
+       }
+
+       default void debug(String message, Throwable t) {
+               getLogger().log(Level.DEBUG, message, t);
+       }
+
+       default void debug(Object message, Throwable t) {
+               debug(Objects.requireNonNull(message).toString(), t);
+       }
+
+       default void debug(String format, Object... arguments) {
+               getLogger().log(Level.DEBUG, format, arguments);
+       }
+
+       /*
+        * INFO
+        */
+
+       default void info(String message) {
+               getLogger().log(Level.INFO, message);
+       }
+
+       default void info(Object message) {
+               getLogger().log(Level.INFO, message);
+       }
+
+       default void info(String message, Throwable t) {
+               getLogger().log(Level.INFO, message, t);
+       }
+
+       default void info(Object message, Throwable t) {
+               info(Objects.requireNonNull(message).toString(), t);
+       }
+
+       default void info(String format, Object... arguments) {
+               getLogger().log(Level.INFO, format, arguments);
+       }
+
+       /*
+        * WARN
+        */
+
+       default void warn(String message) {
+               getLogger().log(Level.WARNING, message);
+       }
+
+       default void warn(Object message) {
+               getLogger().log(Level.WARNING, message);
+       }
+
+       default void warn(String message, Throwable t) {
+               getLogger().log(Level.WARNING, message, t);
+       }
+
+       default void warn(Object message, Throwable t) {
+               warn(Objects.requireNonNull(message).toString(), t);
+       }
+
+       default void warn(String format, Object... arguments) {
+               getLogger().log(Level.WARNING, format, arguments);
+       }
+
+       /*
+        * ERROR
+        */
+
+       default void error(String message) {
+               getLogger().log(Level.ERROR, message);
+       }
+
+       default void error(Object message) {
+               getLogger().log(Level.ERROR, message);
+       }
+
+       default void error(String message, Throwable t) {
+               getLogger().log(Level.ERROR, message, t);
+       }
+
+       default void error(Object message, Throwable t) {
+               error(Objects.requireNonNull(message).toString(), t);
+       }
+
+       default void error(String format, Object... arguments) {
+               getLogger().log(Level.ERROR, format, arguments);
+       }
+
+}