X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=liblttng-ust-jul%2Forg%2Flttng%2Fust%2Fjul%2FLTTngLogHandler.java;h=4c617fb91918f0afe192b66836782bb2178b6d68;hb=0c303d0e003c25db2b651d2c77b15c125c5afdb6;hp=dfc15b3df65115fbf91879ceac5bf5f3f7737616;hpb=43e5396b3b2247a3f57a8a797239359df3ff083f;p=lttng-ust.git diff --git a/liblttng-ust-jul/org/lttng/ust/jul/LTTngLogHandler.java b/liblttng-ust-jul/org/lttng/ust/jul/LTTngLogHandler.java index dfc15b3d..4c617fb9 100644 --- a/liblttng-ust-jul/org/lttng/ust/jul/LTTngLogHandler.java +++ b/liblttng-ust-jul/org/lttng/ust/jul/LTTngLogHandler.java @@ -21,12 +21,26 @@ import java.lang.String; import java.util.logging.Handler; import java.util.logging.LogRecord; import java.util.logging.LogManager; +import java.util.logging.Level; +import java.util.logging.Logger; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; import org.lttng.ust.jul.LTTngUst; public class LTTngLogHandler extends Handler { + /* Am I a root Log Handler. */ + public int is_root = 0; + public int refcount = 0; + public LogManager logManager; + /* Logger object attached to this handler that can trigger a tracepoint. */ + public Map enabledEvents = + Collections.synchronizedMap(new HashMap()); + + /* Constructor */ public LTTngLogHandler(LogManager logManager) { super(); @@ -36,6 +50,13 @@ public class LTTngLogHandler extends Handler { LTTngUst.init(); } + /* + * Cleanup this handler state meaning put it back to a vanilla state. + */ + public void clear() { + this.enabledEvents.clear(); + } + @Override public void close() throws SecurityException {} @@ -49,9 +70,16 @@ public class LTTngLogHandler extends Handler { * caller is used for the event name, the raw message is taken, the * loglevel of the record and the thread ID. */ - LTTngUst.tracepoint(record.getMessage(), record.getLoggerName(), - record.getSourceClassName(), record.getSourceMethodName(), - record.getMillis(), record.getLevel().intValue(), - record.getThreadID()); + if (this.is_root == 1) { + LTTngUst.tracepointS(record.getMessage(), + record.getLoggerName(), record.getSourceClassName(), + record.getSourceMethodName(), record.getMillis(), + record.getLevel().intValue(), record.getThreadID()); + } else { + LTTngUst.tracepointU(record.getMessage(), + record.getLoggerName(), record.getSourceClassName(), + record.getSourceMethodName(), record.getMillis(), + record.getLevel().intValue(), record.getThreadID()); + } } }