diff --git a/src/main/java/com/metamx/common/logger/Logger.java b/src/main/java/com/metamx/common/logger/Logger.java index 22e638d0..c8d3e80f 100644 --- a/src/main/java/com/metamx/common/logger/Logger.java +++ b/src/main/java/com/metamx/common/logger/Logger.java @@ -77,6 +77,16 @@ public void info(Throwable t, String message, Object... formatArgs) } } + /** + * Protect against assuming slf4j convention. use `warn(Throwable t, String message, Object... formatArgs)` instead + * @param message The string message + * @param t The Throwable to log + */ + @Deprecated + public void warn(String message, Throwable t) { + log.warn(message, t); + } + public void warn(String message, Object... formatArgs) { log.warn(StringUtils.safeFormat(message, formatArgs)); @@ -92,6 +102,16 @@ public void error(String message, Object... formatArgs) log.error(StringUtils.safeFormat(message, formatArgs)); } + /** + * Protect against assuming slf4j convention. use `error(Throwable t, String message, Object... formatArgs)` instead + * @param message The string message + * @param t The Throwable to log + */ + @Deprecated + public void error(String message, Throwable t) { + log.error(message, t); + } + public void error(Throwable t, String message, Object... formatArgs) { log.error(StringUtils.safeFormat(message, formatArgs), t); diff --git a/src/test/java/com/metamx/common/logger/LoggerTest.java b/src/test/java/com/metamx/common/logger/LoggerTest.java index c095ad99..8d502e27 100644 --- a/src/test/java/com/metamx/common/logger/LoggerTest.java +++ b/src/test/java/com/metamx/common/logger/LoggerTest.java @@ -26,4 +26,14 @@ public void testLogWithCrazyMessages() final Logger log = new Logger(LoggerTest.class); log.warn(message); } + + @Test + public void testLegacyLogging() + { + final Logger log = new Logger(LoggerTest.class); + final Throwable throwable = new Throwable(); + // These should show up in an IDE as deprecated, but shouldn't actually fail. + log.error("foo", throwable); + log.warn("foo", throwable); + } }