From mboxrd@z Thu Jan 1 00:00:00 1970 From: mathieu.desnoyers@efficios.com (Mathieu Desnoyers) Date: Fri, 27 May 2016 18:02:30 +0000 (UTC) Subject: [lttng-dev] [PATCH lttng-tools] fix: systematically set the logger level to prevent unexpected level inheritance In-Reply-To: <1464300877-13294-1-git-send-email-jonathan.rajotte-julien@efficios.com> References: <1464300877-13294-1-git-send-email-jonathan.rajotte-julien@efficios.com> Message-ID: <967635494.21414.1464372150275.JavaMail.zimbra@efficios.com> ----- On May 26, 2016, at 6:14 PM, Jonathan Rajotte jonathan.rajotte-julien at efficios.com wrote: > BSF or other jars can ship with log4j.properties file embedded. This causes > problem when launching an application with a general class path (e.g > /usr/share/java/*) since log4j will look for a configuration file in all loaded > jars. If any contains directive for the root logger it will affect any logger > with no level who are directly under the root logger. This could result in an > unexpected behaviour (e.g no events triggered et.). > Perhaps prefix the line below with "Link: " > https://issues.apache.org/jira/browse/BSF-24 missing newline. > Signed-off-by: Jonathan Rajotte > --- > tests/regression/ust/java-log4j/JTestLTTng.java | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/tests/regression/ust/java-log4j/JTestLTTng.java > b/tests/regression/ust/java-log4j/JTestLTTng.java > index 64a471b..ef97b34 100644 > --- a/tests/regression/ust/java-log4j/JTestLTTng.java > +++ b/tests/regression/ust/java-log4j/JTestLTTng.java > @@ -23,6 +23,7 @@ import java.lang.Integer; > import org.apache.log4j.Appender; > import org.apache.log4j.BasicConfigurator; > import org.apache.log4j.Logger; > +import org.apache.log4j.Level; > import org.lttng.ust.agent.log4j.LttngLogAppender; > > public class JTestLTTng { > @@ -40,6 +41,17 @@ public class JTestLTTng { > Logger lttng = Logger.getLogger("log4j-event"); > Logger lttng2 = Logger.getLogger("log4j-event-2"); > Comments start with: /* * Other than those nits, lgtm. Thanks, Mathieu > + /* Set lowest level to make sure all event levels are logged. > + * Any jar can override the default log4j rootLogger level > + * and a logger with no explicit level defaults to the non-null > + * parent level. Events could be ignored if the inherited value > + * is to low. > + * e.g BSF -> https://issues.apache.org/jira/browse/BSF-24 > + */ > + > + lttng.setLevel(Level.ALL); > + lttng2.setLevel(Level.ALL); > + > int nrIter = Integer.parseInt(args[0]); > int waitTime = Integer.parseInt(args[1]); > int fire_debug_tp = 0; > -- > 2.7.4 > > _______________________________________________ > lttng-dev mailing list > lttng-dev at lists.lttng.org > https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com