[lttng-dev] [PATCH lttng-tools] fix: systematically set the logger level to prevent unexpected level inheritance

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Fri May 27 18:02:30 UTC 2016


----- 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 <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");
> 

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


More information about the lttng-dev mailing list