return data;
}
+ /*
+ * Enable a logger meaning add our handler to it using an exiting
+ * event. If successful, the logger is added to the given enabled
+ * Loggers hashmap.
+ *
+ * @return 0 if NO logger is found else 1 if added.
+ */
+ public int enableLogger(LTTngLogHandler handler, LTTngEvent event,
+ HashMap enabledLoggers) {
+ Logger logger;
+
+ logger = handler.logManager.getLogger(event.name);
+ if (logger == null) {
+ return 0;
+ }
+
+ handler.setEvent(event);
+ logger.addHandler(handler);
+ enabledLoggers.put(event.name, logger);
+
+ return 1;
+ }
+
/**
* Execute enable handler action which is to enable the given handler
* to the received name.
* @return Event name as a string if the event is NOT found thus was
* not enabled.
*/
- public String execute(LTTngLogHandler handler, HashMap enabledLoggers) {
+ public LTTngEvent execute(LTTngLogHandler handler, HashMap enabledLoggers) {
+ int ret;
Logger logger;
+ LTTngEvent event;
if (name == null) {
this.code = lttng_jul_ret_code.CODE_INVALID_CMD;
if (name.trim().equals("*")) {
String loggerName;
Enumeration loggers = handler.logManager.getLoggerNames();
+
+ /*
+ * Keep the loglevel value for all events in case an event
+ * appears later on.
+ */
+ handler.logLevelUseAll = 1;
+ handler.logLevelAll = lttngLogLevel;
+ handler.logLevelTypeAll = lttngLogLevelType;
+
while (loggers.hasMoreElements()) {
loggerName = loggers.nextElement().toString();
/* Somehow there is always an empty string at the end. */
continue;
}
- logger = handler.logManager.getLogger(loggerName);
- handler.setLogLevel(loggerName, lttngLogLevel,
+ /*
+ * Create new event object and set it in the log handler so
+ * we can process the record entry with the right
+ * attributes like the loglevels.
+ */
+ event = new LTTngEvent(loggerName, lttngLogLevel,
lttngLogLevelType);
- logger.addHandler(handler);
- enabledLoggers.put(loggerName, logger);
+ enableLogger(handler, event, enabledLoggers);
}
this.code = lttng_jul_ret_code.CODE_SUCCESS_CMD;
- /*
- * Return the name as a new string so we can add the * event
- * name to the event list that we need to enable for new
- * Logger.
- */
- return new String(name);
+
+ event = new LTTngEvent("*", lttngLogLevel, lttngLogLevelType);
+ return event;
}
this.code = lttng_jul_ret_code.CODE_SUCCESS_CMD;
- logger = handler.logManager.getLogger(name.trim());
- if (logger != null) {
- handler.setLogLevel(name.trim(), lttngLogLevel,
- lttngLogLevelType);
- logger.addHandler(handler);
- enabledLoggers.put(name.trim(), logger);
+
+ /*
+ * Create new event object and set it in the log handler so we can
+ * process the record entry with the right attributes like the
+ * loglevels.
+ */
+ event = new LTTngEvent(name.trim(), lttngLogLevel,
+ lttngLogLevelType);
+ ret = enableLogger(handler, event, enabledLoggers);
+ if (ret == 1) {
return null;
- } else {
- return new String(name);
}
+ return event;
}
}