X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=liblttng-ust-java-agent%2Fjava%2Flttng-ust-agent-log4j%2Forg%2Flttng%2Fust%2Fagent%2Flog4j%2FLttngLog4jAgent.java;fp=liblttng-ust-java-agent%2Fjava%2Flttng-ust-agent-log4j%2Forg%2Flttng%2Fust%2Fagent%2Flog4j%2FLttngLog4jAgent.java;h=0000000000000000000000000000000000000000;hb=9d4c8b2d907edb9ebc9bfde55602598e7ba0832e;hp=bb5deb351fe858995b28038dd151bc7d48076574;hpb=6ba6fd60507f8e045bdc4f1be14e9d99c6a15f7f;p=lttng-ust.git diff --git a/liblttng-ust-java-agent/java/lttng-ust-agent-log4j/org/lttng/ust/agent/log4j/LttngLog4jAgent.java b/liblttng-ust-java-agent/java/lttng-ust-agent-log4j/org/lttng/ust/agent/log4j/LttngLog4jAgent.java deleted file mode 100644 index bb5deb35..00000000 --- a/liblttng-ust-java-agent/java/lttng-ust-agent-log4j/org/lttng/ust/agent/log4j/LttngLog4jAgent.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * SPDX-License-Identifier: LGPL-2.1-only - * - * Copyright (C) 2015 EfficiOS Inc. - * Copyright (C) 2015 Alexandre Montplaisir - */ - -package org.lttng.ust.agent.log4j; - -import java.util.Collection; -import java.util.Collections; -import java.util.Enumeration; -import java.util.List; -import java.util.Set; -import java.util.TreeSet; - -import org.apache.log4j.Appender; -import org.apache.log4j.Category; -import org.apache.log4j.LogManager; -import org.apache.log4j.Logger; -import org.lttng.ust.agent.AbstractLttngAgent; - -/** - * Agent implementation for using the Log4j logger, connecting to a root session - * daemon. - * - * @author Alexandre Montplaisir - */ -class LttngLog4jAgent extends AbstractLttngAgent { - - private static LttngLog4jAgent instance = null; - - private LttngLog4jAgent() { - super(Domain.LOG4J); - } - - public static synchronized LttngLog4jAgent getInstance() { - if (instance == null) { - instance = new LttngLog4jAgent(); - } - return instance; - } - - @Override - public Collection listAvailableEvents() { - Set ret = new TreeSet(); - - @SuppressWarnings("unchecked") - List loggers = Collections.list(LogManager.getCurrentLoggers()); - for (Logger logger : loggers) { - if (logger == null) { - continue; - } - - /* - * Check if that logger has at least one LTTng log4j appender - * attached. - */ - if (hasLttngAppenderAttached(logger)) { - ret.add(logger.getName()); - } - } - - return ret; - } - - private static boolean hasLttngAppenderAttached(Category logger) { - @SuppressWarnings("unchecked") - Enumeration appenders = logger.getAllAppenders(); - if (appenders != null) { - for (Appender appender : Collections.list(appenders)) { - if (appender instanceof LttngLogAppender) { - return true; - } - } - } - - /* - * A parent logger, if any, may be connected to an LTTng handler. In - * this case, we will want to include this child logger in the output, - * since it will be accessible by LTTng. - */ - Category parent = logger.getParent(); - if (parent != null) { - return hasLttngAppenderAttached(parent); - } - - /* - * We have reached the root logger and have not found any LTTng handler, - * this event will not be accessible. - */ - return false; - } - -}