Mirror of the lttng-dev mailing list
 help / color / mirror / Atom feed
From: jonathan.rajotte-julien@efficios.com (Jonathan Rajotte)
Subject: [lttng-dev] [PATCH lttng-tools] fix: systematically set the logger level to prevent unexpected level inheritance
Date: Thu, 26 May 2016 18:14:37 -0400	[thread overview]
Message-ID: <1464300877-13294-1-git-send-email-jonathan.rajotte-julien@efficios.com> (raw)

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.).

https://issues.apache.org/jira/browse/BSF-24
Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien at efficios.com>
---
 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");
 
+		/* 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



             reply	other threads:[~2016-05-26 22:14 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-26 22:14 Jonathan Rajotte [this message]
2016-05-27 18:02 ` Mathieu Desnoyers
2016-05-27 18:14   ` [lttng-dev] [PATCH lttng-tools v2] " Jonathan Rajotte
2016-05-28  6:57     ` Jérémie Galarneau

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1464300877-13294-1-git-send-email-jonathan.rajotte-julien@efficios.com \
    --to=jonathan.rajotte-julien@efficios.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox