From 661f187142863c66164957a0a7096b7da6aa6708 Mon Sep 17 00:00:00 2001 From: Carlos Roman Date: Mon, 3 Jun 2024 11:29:26 +0100 Subject: [PATCH 1/3] Added support for emitting logs with thread name --- CHANGELOG.md | 2 +- .../java/org/datadog/jmxfetch/AppConfig.java | 11 ++ .../java/org/datadog/jmxfetch/JmxFetch.java | 5 +- .../datadog/jmxfetch/util/CustomLogger.java | 178 +++++++++++------- .../java/org/datadog/jmxfetch/TestCommon.java | 2 +- .../jmxfetch/util/CustomLoggerPerfTest.java | 38 ++-- 6 files changed, 145 insertions(+), 91 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a9eba0451..f13973e9e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ Changelog ========= # 0.49.2-SNAPSHOT / TBC +* [FEATURE] Added support for emitting logs with thread name [#525][] * [BUGFIX] Telemetry is no longer initialized when telemetry is disabled [#522][] # 0.49.1 / 2024-04-09 @@ -768,7 +769,6 @@ Changelog [#477]: https://github.com/DataDog/jmxfetch/issues/477 [#509]: https://github.com/DataDog/jmxfetch/issues/509 [#512]: https://github.com/DataDog/jmxfetch/pull/512 -[#522]: https://github.com/DataDog/jmxfetch/pull/522 [@alz]: https://github.com/alz [@aoking]: https://github.com/aoking [@arrawatia]: https://github.com/arrawatia diff --git a/src/main/java/org/datadog/jmxfetch/AppConfig.java b/src/main/java/org/datadog/jmxfetch/AppConfig.java index d8888efea..5f736d8ae 100644 --- a/src/main/java/org/datadog/jmxfetch/AppConfig.java +++ b/src/main/java/org/datadog/jmxfetch/AppConfig.java @@ -96,6 +96,13 @@ public class AppConfig { @Builder.Default private boolean logFormatRfc3339 = false; + @Parameter( + names = {"--log_thread_name"}, + description = "Logs the thread name with each message", + required = false) + @Builder.Default + private boolean logThreadName = false; + @Parameter( names = {"--conf_directory", "-D"}, description = "Absolute path to the conf.d directory", @@ -446,6 +453,10 @@ public boolean isLogFormatRfc3339() { return logFormatRfc3339; } + public boolean isLogThreadName() { + return logThreadName; + } + /** Returns path to auto-discovery pipe. Deprecated.. */ public String getAutoDiscoveryPipe() { String pipePath; diff --git a/src/main/java/org/datadog/jmxfetch/JmxFetch.java b/src/main/java/org/datadog/jmxfetch/JmxFetch.java index 11ccc7113..1981a7e87 100644 --- a/src/main/java/org/datadog/jmxfetch/JmxFetch.java +++ b/src/main/java/org/datadog/jmxfetch/JmxFetch.java @@ -46,8 +46,9 @@ public static void main(String[] args) { // Set up the logger to add file handler CustomLogger.setup(LogLevel.fromString(config.getLogLevel()), - config.getLogLocation(), - config.isLogFormatRfc3339()); + config.getLogLocation(), + config.isLogFormatRfc3339(), + config.isLogThreadName()); // Set up the shutdown hook to properly close resources attachShutdownHook(); diff --git a/src/main/java/org/datadog/jmxfetch/util/CustomLogger.java b/src/main/java/org/datadog/jmxfetch/util/CustomLogger.java index 1bc75da66..5b4628148 100644 --- a/src/main/java/org/datadog/jmxfetch/util/CustomLogger.java +++ b/src/main/java/org/datadog/jmxfetch/util/CustomLogger.java @@ -2,22 +2,17 @@ import lombok.extern.slf4j.Slf4j; -import org.datadog.jmxfetch.util.LogLevel; -import org.datadog.jmxfetch.util.StdoutConsoleHandler; - import java.io.PrintWriter; import java.io.StringWriter; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; -import java.util.Enumeration; import java.util.List; import java.util.Locale; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicInteger; import java.util.logging.ConsoleHandler; import java.util.logging.FileHandler; -import java.util.logging.Filter; import java.util.logging.Handler; import java.util.logging.Level; import java.util.logging.LogManager; @@ -46,9 +41,14 @@ public class CustomLogger { private static final String DATE_JDK14_LAYOUT = "yyyy-MM-dd HH:mm:ss z"; private static final String DATE_JDK14_LAYOUT_RFC3339 = "yyyy-MM-dd'T'HH:mm:ssXXX"; - private static final String JDK14_LAYOUT = "%s | JMX | %2$s | %3$s | %4$s%5$s%n"; + private static final String JDK14_LAYOUT = + "%s | JMX | %2$s | %3$s | %4$s%5$s%n"; + private static final String JDK14_WITH_THREADS_LAYOUT = + "%s | JMX | %2$s | %3$s | %4$s | %5$s%6$s%n"; private static final String JDK14_LAYOUT_FILE_LINE = - "%s | JMX | %2$s | %3$s:%4$d | %5$s%6$s%n"; + "%s | JMX | %2$s | %3$s:%4$d | %5$s%6$s%n"; + private static final String JDK14_WITH_THREADS_LAYOUT_FILE_LINE = + "%s | JMX | %2$s | %3$s | %4$s:%5$d | %6$s%7$s%n"; private static final int MAX_FILE_SIZE = 5 * 1024 * 1024; @@ -66,67 +66,8 @@ private static boolean isStdOut(String target) { /** setup and configure the logging. */ public static synchronized void setup(LogLevel level, String logLocation, - boolean logFormatRfc3339) { - String target = "CONSOLE"; - String dateFormat = logFormatRfc3339 ? DATE_JDK14_LAYOUT_RFC3339 : DATE_JDK14_LAYOUT; - if (millisecondLogging) { - dateFormat = dateFormat.replace("ss", "ss.SSS"); - } - final SimpleDateFormat dateFormatter = new SimpleDateFormat(dateFormat, - Locale.getDefault()); - - // log format - SimpleFormatter formatter = new SimpleFormatter() { - private static final String format = JDK14_LAYOUT; - - private String simpleClassName(String str) { - int start = str.lastIndexOf('.'); - int end = str.indexOf('$'); - if (start == -1 || start + 1 == str.length()) { - return str; - } - if (end == -1 || end <= start || end > str.length()) { - end = str.length(); - } - return str.substring(start + 1, end); - } - - @Override - public synchronized String format(LogRecord lr) { - String exception = ""; - if (lr.getThrown() != null) { - StringWriter writer = new StringWriter(); - PrintWriter stream = new PrintWriter(writer); - stream.println(); - lr.getThrown().printStackTrace(stream); - stream.close(); - exception = writer.toString(); - } - - if (enableFileLineLogging) { - Throwable throwable = new Throwable(); - StackTraceElement logEmissionFrame = throwable.getStackTrace()[6]; - - return String.format(JDK14_LAYOUT_FILE_LINE, - dateFormatter.format(new Date()).toString(), - LogLevel.fromJulLevel(lr.getLevel()).toString(), - logEmissionFrame.getFileName(), - logEmissionFrame.getLineNumber(), - lr.getMessage(), - exception - ); - - } - - return String.format(format, - dateFormatter.format(new Date()).toString(), - LogLevel.fromJulLevel(lr.getLevel()).toString(), - simpleClassName(lr.getSourceClassName()), - lr.getMessage(), - exception - ); - } - }; + boolean logFormatRfc3339, boolean logThreadName) { + SimpleFormatter formatter = getFormatter(logFormatRfc3339, logThreadName); // log level Level julLevel = level.toJulLevel(); @@ -138,14 +79,14 @@ public synchronized String format(LogRecord lr) { manager.reset(); // prepare the different handlers - ConsoleHandler stdoutHandler = null; + ConsoleHandler stdoutHandler; ConsoleHandler stderrHandler = null; FileHandler fileHandler = null; // the logLocation isn't always containing a file, it is sometimes // referring to a standard output. We want to create a FileHandler only // if the logLocation is a file on the FS. - if (logLocation != null && logLocation.length() > 0) { + if (logLocation != null && !logLocation.isEmpty()) { if (!isStdOut(logLocation) && !isStdErr(logLocation)) { // file logging try { @@ -178,14 +119,105 @@ public synchronized String format(LogRecord lr) { if (fileHandler != null) { jmxfetchLogger.addHandler(fileHandler); } - if (stdoutHandler != null) { // always non-null but doesn't cost much - jmxfetchLogger.addHandler(stdoutHandler); - } + + jmxfetchLogger.addHandler(stdoutHandler); + if (stderrHandler != null) { jmxfetchLogger.addHandler(stderrHandler); } } + private static SimpleFormatter getFormatter( + final boolean logFormatRfc3339, + final boolean logThreadName) { + String dateFormat = logFormatRfc3339 ? DATE_JDK14_LAYOUT_RFC3339 : DATE_JDK14_LAYOUT; + if (millisecondLogging) { + dateFormat = dateFormat.replace("ss", "ss.SSS"); + } + final SimpleDateFormat dateFormatter = new SimpleDateFormat(dateFormat, + Locale.getDefault()); + + // log format + return new SimpleFormatter() { + private final String formatLayout = + logThreadName ? JDK14_WITH_THREADS_LAYOUT : JDK14_LAYOUT; + + private String simpleClassName(String str) { + int start = str.lastIndexOf('.'); + int end = str.indexOf('$'); + if (start == -1 || start + 1 == str.length()) { + return str; + } + if (end == -1 || end <= start) { + end = str.length(); + } + return str.substring(start + 1, end); + } + + @Override + public synchronized String format(LogRecord lr) { + String exception = ""; + if (lr.getThrown() != null) { + StringWriter writer = new StringWriter(); + PrintWriter stream = new PrintWriter(writer); + stream.println(); + lr.getThrown().printStackTrace(stream); + stream.close(); + exception = writer.toString(); + } + + if (enableFileLineLogging) { + Throwable throwable = new Throwable(); + StackTraceElement logEmissionFrame = throwable.getStackTrace()[6]; + + final String logFormat; + if (logThreadName) { + logFormat = JDK14_WITH_THREADS_LAYOUT_FILE_LINE; + } else { + logFormat = JDK14_LAYOUT_FILE_LINE; + } + if (logThreadName) { + return String.format(logFormat, + dateFormatter.format(new Date()), + LogLevel.fromJulLevel(lr.getLevel()).toString(), + Thread.currentThread().getName(), + logEmissionFrame.getFileName(), + logEmissionFrame.getLineNumber(), + lr.getMessage(), + exception + ); + } + return String.format(logFormat, + dateFormatter.format(new Date()), + LogLevel.fromJulLevel(lr.getLevel()).toString(), + logEmissionFrame.getFileName(), + logEmissionFrame.getLineNumber(), + lr.getMessage(), + exception + ); + } + + if (logThreadName) { + return String.format(formatLayout, + dateFormatter.format(new Date()), + LogLevel.fromJulLevel(lr.getLevel()).toString(), + Thread.currentThread().getName(), + simpleClassName(lr.getSourceClassName()), + lr.getMessage(), + exception + ); + } + return String.format(formatLayout, + dateFormatter.format(new Date()), + LogLevel.fromJulLevel(lr.getLevel()).toString(), + simpleClassName(lr.getSourceClassName()), + lr.getMessage(), + exception + ); + } + }; + } + /** closeHandlers closes all opened handlers. */ public static synchronized void shutdown() { for (Handler handler : jmxfetchLogger.getHandlers()) { diff --git a/src/test/java/org/datadog/jmxfetch/TestCommon.java b/src/test/java/org/datadog/jmxfetch/TestCommon.java index 4450c741c..031e8a2f6 100644 --- a/src/test/java/org/datadog/jmxfetch/TestCommon.java +++ b/src/test/java/org/datadog/jmxfetch/TestCommon.java @@ -73,7 +73,7 @@ public static void init() throws Exception { if (level == null) { level = "ALL"; } - CustomLogger.setup(LogLevel.fromString(level), "/tmp/jmxfetch_test.log", false); + CustomLogger.setup(LogLevel.fromString(level), "/tmp/jmxfetch_test.log", false, true); } /** diff --git a/src/test/java/org/datadog/jmxfetch/util/CustomLoggerPerfTest.java b/src/test/java/org/datadog/jmxfetch/util/CustomLoggerPerfTest.java index 262661a70..0b71f0a33 100644 --- a/src/test/java/org/datadog/jmxfetch/util/CustomLoggerPerfTest.java +++ b/src/test/java/org/datadog/jmxfetch/util/CustomLoggerPerfTest.java @@ -34,6 +34,7 @@ public final class CustomLoggerPerfTest { private final int msgSize; // length of log message in bytes private final int uPause; // length of log message in bytes private final boolean rfc3339; // length of log message in bytes + private final boolean logThreadName; private AtomicBoolean running; private final ExecutorService executor; @@ -42,29 +43,37 @@ public final class CustomLoggerPerfTest { @Parameters public static Collection data() { - return Arrays.asList(new Object[][] { - { 90, 100, 1, 128, false }, // 90 seconds, 100 microsecond pause, 1 worker, 128 byte string, false - { 90, 100, 1, 512, false }, // 90 seconds, 100 microsecond pause, 1 worker, 512 byte string, false - { 90, 100, 1, 1024, false }, // 90 seconds, 100 microsecond pause, 1 worker, 512 byte string, false - { 90, 100, 1, 128, true }, // 90 seconds, 100 microsecond pause, 1 worker, 128 byte string, true - { 90, 100, 1, 512, true }, // 90 seconds, 100 microsecond pause, 1 worker, 512 byte string, true - { 90, 100, 1, 1024, true }, // 90 seconds, 100 microsecond pause, 1 worker, 512 byte string, true - }); + return Arrays.asList(new Object[][]{ + {90, 100, 1, 128, false, false}, // 90 seconds, 100 microsecond pause, 1 worker, 128 byte string, false, false + {90, 100, 1, 512, false, false}, // 90 seconds, 100 microsecond pause, 1 worker, 512 byte string, false, false + {90, 100, 1, 1024, false, false}, // 90 seconds, 100 microsecond pause, 1 worker, 512 byte string, false, false + {90, 100, 1, 128, false, true}, // 90 seconds, 100 microsecond pause, 1 worker, 128 byte string, false, true + {90, 100, 1, 512, false, true}, // 90 seconds, 100 microsecond pause, 1 worker, 512 byte string, false, true + {90, 100, 1, 1024, false, true}, // 90 seconds, 100 microsecond pause, 1 worker, 512 byte string, false, true + {90, 100, 1, 128, true, false}, // 90 seconds, 100 microsecond pause, 1 worker, 128 byte string, true, false + {90, 100, 1, 512, true, false}, // 90 seconds, 100 microsecond pause, 1 worker, 512 byte string, true, false + {90, 100, 1, 1024, true, false}, // 90 seconds, 100 microsecond pause, 1 worker, 512 byte string, true, false + {90, 100, 1, 128, true, true}, // 90 seconds, 100 microsecond pause, 1 worker, 128 byte string, true, true + {90, 100, 1, 512, true, true}, // 90 seconds, 100 microsecond pause, 1 worker, 512 byte string, true, true + {90, 100, 1, 1024, true, true}, // 90 seconds, 100 microsecond pause, 1 worker, 512 byte string, true, true + }); } - public CustomLoggerPerfTest(int duration, int uPause, int testWorkers, int msgSize, boolean rfc3339) throws IOException { + public CustomLoggerPerfTest(int duration, int uPause, int testWorkers, int msgSize, boolean rfc3339, boolean logThreadName) throws IOException { this.duration = duration; this.testWorkers = testWorkers; this.msgSize = msgSize; this.uPause = uPause; this.rfc3339 = rfc3339; + this.logThreadName =logThreadName; this.executor = Executors.newFixedThreadPool(testWorkers); this.running = new AtomicBoolean(true); CustomLogger.setup(LogLevel.fromString("INFO"), - null, //stdout - rfc3339); + null, //stdout + rfc3339, + logThreadName); } /** @@ -117,11 +126,13 @@ public void run() { .append(this.msgSize) .append(" and RFC 3339 mode set to ") .append(this.rfc3339) + .append(" and log thread name set to ") + .append(this.logThreadName) .append(" logged ") .append(count.get()) .append(" messsages."); - System.out.println(sb.toString()); + System.out.println(sb); } private String getRandomString(int length) { @@ -135,8 +146,7 @@ private String getRandomString(int length) { (random.nextFloat() * (rightLimit - leftLimit + 1)); buffer.append((char) randomLimitedInt); } - String generatedString = buffer.toString(); - return generatedString; + return buffer.toString(); } } From 0d9c91ab2410f3bd8d2ba3e7a9384f1cd68abfe0 Mon Sep 17 00:00:00 2001 From: Carlos Roman Date: Wed, 5 Jun 2024 15:53:41 +0100 Subject: [PATCH 2/3] Making thread name in logs the default --- .../java/org/datadog/jmxfetch/AppConfig.java | 2 +- .../org/datadog/jmxfetch/util/CustomLogger.java | 17 +++++------------ 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/src/main/java/org/datadog/jmxfetch/AppConfig.java b/src/main/java/org/datadog/jmxfetch/AppConfig.java index 5f736d8ae..db63e3698 100644 --- a/src/main/java/org/datadog/jmxfetch/AppConfig.java +++ b/src/main/java/org/datadog/jmxfetch/AppConfig.java @@ -101,7 +101,7 @@ public class AppConfig { description = "Logs the thread name with each message", required = false) @Builder.Default - private boolean logThreadName = false; + private boolean logThreadName = true; @Parameter( names = {"--conf_directory", "-D"}, diff --git a/src/main/java/org/datadog/jmxfetch/util/CustomLogger.java b/src/main/java/org/datadog/jmxfetch/util/CustomLogger.java index 5b4628148..131c88e36 100644 --- a/src/main/java/org/datadog/jmxfetch/util/CustomLogger.java +++ b/src/main/java/org/datadog/jmxfetch/util/CustomLogger.java @@ -139,8 +139,6 @@ private static SimpleFormatter getFormatter( // log format return new SimpleFormatter() { - private final String formatLayout = - logThreadName ? JDK14_WITH_THREADS_LAYOUT : JDK14_LAYOUT; private String simpleClassName(String str) { int start = str.lastIndexOf('.'); @@ -170,14 +168,8 @@ public synchronized String format(LogRecord lr) { Throwable throwable = new Throwable(); StackTraceElement logEmissionFrame = throwable.getStackTrace()[6]; - final String logFormat; if (logThreadName) { - logFormat = JDK14_WITH_THREADS_LAYOUT_FILE_LINE; - } else { - logFormat = JDK14_LAYOUT_FILE_LINE; - } - if (logThreadName) { - return String.format(logFormat, + return String.format(JDK14_WITH_THREADS_LAYOUT_FILE_LINE, dateFormatter.format(new Date()), LogLevel.fromJulLevel(lr.getLevel()).toString(), Thread.currentThread().getName(), @@ -187,7 +179,8 @@ public synchronized String format(LogRecord lr) { exception ); } - return String.format(logFormat, + + return String.format(JDK14_LAYOUT_FILE_LINE, dateFormatter.format(new Date()), LogLevel.fromJulLevel(lr.getLevel()).toString(), logEmissionFrame.getFileName(), @@ -198,7 +191,7 @@ public synchronized String format(LogRecord lr) { } if (logThreadName) { - return String.format(formatLayout, + return String.format(JDK14_WITH_THREADS_LAYOUT, dateFormatter.format(new Date()), LogLevel.fromJulLevel(lr.getLevel()).toString(), Thread.currentThread().getName(), @@ -207,7 +200,7 @@ public synchronized String format(LogRecord lr) { exception ); } - return String.format(formatLayout, + return String.format(JDK14_LAYOUT, dateFormatter.format(new Date()), LogLevel.fromJulLevel(lr.getLevel()).toString(), simpleClassName(lr.getSourceClassName()), From ed7842aeb91c406868ead62fbbdc3ca3a96a0d18 Mon Sep 17 00:00:00 2001 From: Carlos Roman Date: Fri, 7 Jun 2024 12:14:15 +0100 Subject: [PATCH 3/3] Moving thread name to a system property that can be used to disable it --- .../java/org/datadog/jmxfetch/AppConfig.java | 11 ----------- src/main/java/org/datadog/jmxfetch/JmxFetch.java | 3 +-- .../org/datadog/jmxfetch/util/CustomLogger.java | 16 ++++++++++------ .../java/org/datadog/jmxfetch/TestCommon.java | 2 +- .../jmxfetch/util/CustomLoggerPerfTest.java | 3 +-- 5 files changed, 13 insertions(+), 22 deletions(-) diff --git a/src/main/java/org/datadog/jmxfetch/AppConfig.java b/src/main/java/org/datadog/jmxfetch/AppConfig.java index db63e3698..d8888efea 100644 --- a/src/main/java/org/datadog/jmxfetch/AppConfig.java +++ b/src/main/java/org/datadog/jmxfetch/AppConfig.java @@ -96,13 +96,6 @@ public class AppConfig { @Builder.Default private boolean logFormatRfc3339 = false; - @Parameter( - names = {"--log_thread_name"}, - description = "Logs the thread name with each message", - required = false) - @Builder.Default - private boolean logThreadName = true; - @Parameter( names = {"--conf_directory", "-D"}, description = "Absolute path to the conf.d directory", @@ -453,10 +446,6 @@ public boolean isLogFormatRfc3339() { return logFormatRfc3339; } - public boolean isLogThreadName() { - return logThreadName; - } - /** Returns path to auto-discovery pipe. Deprecated.. */ public String getAutoDiscoveryPipe() { String pipePath; diff --git a/src/main/java/org/datadog/jmxfetch/JmxFetch.java b/src/main/java/org/datadog/jmxfetch/JmxFetch.java index 1981a7e87..bc0d4e69d 100644 --- a/src/main/java/org/datadog/jmxfetch/JmxFetch.java +++ b/src/main/java/org/datadog/jmxfetch/JmxFetch.java @@ -47,8 +47,7 @@ public static void main(String[] args) { // Set up the logger to add file handler CustomLogger.setup(LogLevel.fromString(config.getLogLevel()), config.getLogLocation(), - config.isLogFormatRfc3339(), - config.isLogThreadName()); + config.isLogFormatRfc3339()); // Set up the shutdown hook to properly close resources attachShutdownHook(); diff --git a/src/main/java/org/datadog/jmxfetch/util/CustomLogger.java b/src/main/java/org/datadog/jmxfetch/util/CustomLogger.java index 131c88e36..612611db3 100644 --- a/src/main/java/org/datadog/jmxfetch/util/CustomLogger.java +++ b/src/main/java/org/datadog/jmxfetch/util/CustomLogger.java @@ -36,6 +36,11 @@ public class CustomLogger { private static boolean millisecondLogging = System.getProperty("jmxfetch.millisecondLogging", "false").equals("true"); + // Enable by setting -Djmxfetch.disableThreadLogging, + // if true, log record will not include thread name + private static final boolean disableThreadLogging = + System.getProperty("jmxfetch.disableThreadLogging", "false").equals("true"); + private static final ConcurrentHashMap messageCount = new ConcurrentHashMap(); @@ -66,8 +71,8 @@ private static boolean isStdOut(String target) { /** setup and configure the logging. */ public static synchronized void setup(LogLevel level, String logLocation, - boolean logFormatRfc3339, boolean logThreadName) { - SimpleFormatter formatter = getFormatter(logFormatRfc3339, logThreadName); + boolean logFormatRfc3339) { + SimpleFormatter formatter = getFormatter(logFormatRfc3339); // log level Level julLevel = level.toJulLevel(); @@ -128,8 +133,7 @@ public static synchronized void setup(LogLevel level, String logLocation, } private static SimpleFormatter getFormatter( - final boolean logFormatRfc3339, - final boolean logThreadName) { + final boolean logFormatRfc3339) { String dateFormat = logFormatRfc3339 ? DATE_JDK14_LAYOUT_RFC3339 : DATE_JDK14_LAYOUT; if (millisecondLogging) { dateFormat = dateFormat.replace("ss", "ss.SSS"); @@ -168,7 +172,7 @@ public synchronized String format(LogRecord lr) { Throwable throwable = new Throwable(); StackTraceElement logEmissionFrame = throwable.getStackTrace()[6]; - if (logThreadName) { + if (!disableThreadLogging) { return String.format(JDK14_WITH_THREADS_LAYOUT_FILE_LINE, dateFormatter.format(new Date()), LogLevel.fromJulLevel(lr.getLevel()).toString(), @@ -190,7 +194,7 @@ public synchronized String format(LogRecord lr) { ); } - if (logThreadName) { + if (!disableThreadLogging) { return String.format(JDK14_WITH_THREADS_LAYOUT, dateFormatter.format(new Date()), LogLevel.fromJulLevel(lr.getLevel()).toString(), diff --git a/src/test/java/org/datadog/jmxfetch/TestCommon.java b/src/test/java/org/datadog/jmxfetch/TestCommon.java index 031e8a2f6..4450c741c 100644 --- a/src/test/java/org/datadog/jmxfetch/TestCommon.java +++ b/src/test/java/org/datadog/jmxfetch/TestCommon.java @@ -73,7 +73,7 @@ public static void init() throws Exception { if (level == null) { level = "ALL"; } - CustomLogger.setup(LogLevel.fromString(level), "/tmp/jmxfetch_test.log", false, true); + CustomLogger.setup(LogLevel.fromString(level), "/tmp/jmxfetch_test.log", false); } /** diff --git a/src/test/java/org/datadog/jmxfetch/util/CustomLoggerPerfTest.java b/src/test/java/org/datadog/jmxfetch/util/CustomLoggerPerfTest.java index 0b71f0a33..3ae0219a7 100644 --- a/src/test/java/org/datadog/jmxfetch/util/CustomLoggerPerfTest.java +++ b/src/test/java/org/datadog/jmxfetch/util/CustomLoggerPerfTest.java @@ -72,8 +72,7 @@ public CustomLoggerPerfTest(int duration, int uPause, int testWorkers, int msgSi CustomLogger.setup(LogLevel.fromString("INFO"), null, //stdout - rfc3339, - logThreadName); + rfc3339); } /**