[lttng-dev] [PATCH lttng-ust stable-2.7] Fix: Ensure the Java JUL messages are correctly formatted
Alexandre Montplaisir
alexmonthy at efficios.com
Thu Feb 4 15:02:57 EST 2016
Same as 4721f9c, but for the stable-2.7 branch.
Signed-off-by: Alexandre Montplaisir <alexmonthy at efficios.com>
---
.../java/org/lttng/ust/agent/jul/LTTngLogHandler.java | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/liblttng-ust-java-agent/java/org/lttng/ust/agent/jul/LTTngLogHandler.java b/liblttng-ust-java-agent/java/org/lttng/ust/agent/jul/LTTngLogHandler.java
index b844d2f..15c7a8e 100644
--- a/liblttng-ust-java-agent/java/org/lttng/ust/agent/jul/LTTngLogHandler.java
+++ b/liblttng-ust-java-agent/java/org/lttng/ust/agent/jul/LTTngLogHandler.java
@@ -19,11 +19,23 @@ package org.lttng.ust.agent.jul;
import java.lang.String;
+import java.util.logging.Formatter;
import java.util.logging.Handler;
import java.util.logging.LogRecord;
class LTTngLogHandler extends Handler {
+ /**
+ * Dummy Formatter object, so we can use its
+ * {@link Formatter#formatMessage(LogRecord)} method.
+ */
+ private static final Formatter FORMATTER = new Formatter() {
+ @Override
+ public String format(LogRecord record) {
+ throw new UnsupportedOperationException();
+ }
+ };
+
private final Boolean isRoot;
public LTTngLogHandler(Boolean isRoot) {
@@ -54,18 +66,20 @@ class LTTngLogHandler extends Handler {
@Override
public void publish(LogRecord record) {
+ String formattedMessage = FORMATTER.formatMessage(record);
+
/*
* Specific tracepoint designed for JUL events. The source class of the
* caller is used for the event name, the raw message is taken, the
* loglevel of the record and the thread ID.
*/
if (this.isRoot) {
- tracepointS(record.getMessage(),
+ tracepointS(formattedMessage,
record.getLoggerName(), record.getSourceClassName(),
record.getSourceMethodName(), record.getMillis(),
record.getLevel().intValue(), record.getThreadID());
} else {
- tracepointU(record.getMessage(),
+ tracepointU(formattedMessage,
record.getLoggerName(), record.getSourceClassName(),
record.getSourceMethodName(), record.getMillis(),
record.getLevel().intValue(), record.getThreadID());
--
2.5.0
More information about the lttng-dev
mailing list