diff --git a/jOOQ/src/main/java/org/jooq/Log.java b/jOOQ/src/main/java/org/jooq/Log.java index 6860af74a6..7fe385cb92 100644 --- a/jOOQ/src/main/java/org/jooq/Log.java +++ b/jOOQ/src/main/java/org/jooq/Log.java @@ -229,6 +229,44 @@ public interface Log { */ void error(Object message, Object details, Throwable throwable); + /** + * Log a message in a given log level. + * + * @param level The log level + * @param message The log message + */ + void log(Level level, Object message); + + /** + * Log a message in a given log level. + * + * @param level The log level + * @param message The log message + * @param details The message details (padded to a constant-width message); + */ + void log(Level level, Object message, Object details); + + /** + * Log a message in a given log level. + * + * @param level The log level + * @param message The log message + * @param throwable An exception whose stacktrace is logged along with the + * message + */ + void log(Level level, Object message, Throwable throwable); + + /** + * Log a message in a given log level. + * + * @param level The log level + * @param message The log message + * @param details The message details (padded to a constant-width message); + * @param throwable An exception whose stacktrace is logged along with the + * message + */ + void log(Level level, Object message, Object details, Throwable throwable); + /** * The log level. */ diff --git a/jOOQ/src/main/java/org/jooq/tools/JooqLogger.java b/jOOQ/src/main/java/org/jooq/tools/JooqLogger.java index 8e192fedec..d367c954f0 100644 --- a/jOOQ/src/main/java/org/jooq/tools/JooqLogger.java +++ b/jOOQ/src/main/java/org/jooq/tools/JooqLogger.java @@ -456,6 +456,70 @@ public final class JooqLogger implements Log { util.log(java.util.logging.Level.SEVERE, "" + getMessage(message, details), throwable); } + /** + * Log a message in a given log level. + * + * @param level The log level + * @param message The log message + */ + @Override + public void log(Log.Level level, Object message) { + log(level, message, (Object) null); + } + + /** + * Log a message in a given log level. + * + * @param level The log level + * @param message The log message + * @param details The message details (padded to a constant-width message) + */ + @Override + public void log(Log.Level level, Object message, Object details) { + switch (level) { + case TRACE: trace(message, details); break; + case DEBUG: debug(message, details); break; + case INFO: info (message, details); break; + case WARN: warn (message, details); break; + case ERROR: error(message, details); break; + case FATAL: error(message, details); break; + } + } + + /** + * Log a message in a given log level. + * + * @param level The log level + * @param message The log message + * @param throwable An exception whose stacktrace is logged along with the + * message + */ + @Override + public void log(Log.Level level, Object message, Throwable throwable) { + log(level, message, null, throwable); + } + + /** + * Log a message in a given log level. + * + * @param level The log level + * @param message The log message + * @param details The message details (padded to a constant-width message) + * @param throwable An exception whose stacktrace is logged along with the + * message + */ + @Override + public void log(Log.Level level, Object message, Object details, Throwable throwable) { + switch (level) { + case TRACE: trace(message, details, throwable); break; + case DEBUG: debug(message, details, throwable); break; + case INFO: info (message, details, throwable); break; + case WARN: warn (message, details, throwable); break; + case ERROR: error(message, details, throwable); break; + case FATAL: error(message, details, throwable); break; + } + } + /** * Get a formatted message. */