From b80faf49cf8366f2d5369103ae117dee03565ef5 Mon Sep 17 00:00:00 2001 From: Charles Allen Date: Wed, 9 Mar 2016 11:55:26 -0800 Subject: [PATCH] Add @Deprecated catch for logging assuming slf4j convention --- .../java/com/metamx/common/logger/Logger.java | 20 +++++++++++++++++++ .../com/metamx/common/logger/LoggerTest.java | 10 ++++++++++ 2 files changed, 30 insertions(+) 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); + } }