X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=liblttng-ust-jul%2Forg%2Flttng%2Fust%2Fjul%2FLTTngLogHandler.java;h=f61677d0b3b270e96a07fef07a817ef73f00c33c;hb=5b5ffa03ce2a490ddf34d3715c21c7b633567b9a;hp=d2d5587489b26ff4797967756c35c4cef87e0ec3;hpb=b24e4e91830659fca70cfd4381280b828bf8d360;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 d2d55874..f61677d0 100644 --- a/liblttng-ust-jul/org/lttng/ust/jul/LTTngLogHandler.java +++ b/liblttng-ust-jul/org/lttng/ust/jul/LTTngLogHandler.java @@ -34,37 +34,20 @@ class LTTngLogLevelABI { public static final int LOGLEVEL_TYPE_SINGLE = 2; } -class LTTngLogLevel { - /* Event name on which this loglevel is applied on. */ - private String event_name; - /* This level is a JUL int level value. */ - private int level; - private int type; - - public LTTngLogLevel(String event_name, int level, int type) { - this.event_name = event_name; - this.type = type; - this.level = level; - } - - public String getName() { - return this.event_name; - } - - public int getLevel() { - return this.level; - } - - public int getType() { - return this.type; - } -} - public class LTTngLogHandler extends Handler { + /* + * Indicate if the enable all event has been seen and if yes logger that we + * enabled should use the loglevel/type below. + */ + public int logLevelUseAll = 0; + public int logLevelAll = 0; + public int logLevelTypeAll; + public LogManager logManager; - private HashMap logLevels = - new HashMap(); + /* Indexed by name and corresponding LTTngEvent. */ + private HashMap eventMap = + new HashMap(); public LTTngLogHandler(LogManager logManager) { super(); @@ -75,10 +58,8 @@ public class LTTngLogHandler extends Handler { LTTngUst.init(); } - public void setLogLevel(String event_name, int level, int type) { - LTTngLogLevel lttngLogLevel = new LTTngLogLevel(event_name, level, - type); - logLevels.put(event_name, lttngLogLevel); + public void setEvent(LTTngEvent event) { + eventMap.put(event.name, event); } @Override @@ -90,14 +71,16 @@ public class LTTngLogHandler extends Handler { @Override public void publish(LogRecord record) { int fire_tp = 0, rec_log_level, ev_type, ev_log_level; + LTTngEvent event; LTTngLogLevel lttngLogLevel; - String event_name = record.getLoggerName(); + String logger_name = record.getLoggerName(); - lttngLogLevel = logLevels.get(event_name); - if (lttngLogLevel != null) { + /* Get back the event if any and check for loglevel. */ + event = eventMap.get(logger_name); + if (event != null) { rec_log_level = record.getLevel().intValue(); - ev_log_level = lttngLogLevel.getLevel(); - ev_type = lttngLogLevel.getType(); + ev_log_level = event.logLevel.level; + ev_type = event.logLevel.type; switch (ev_type) { case LTTngLogLevelABI.LOGLEVEL_TYPE_RANGE: