From 3d0d3c94e65eaf1b7af3be30f3f5906d18f260a5 Mon Sep 17 00:00:00 2001 From: Jonathan Rajotte Date: Thu, 26 May 2016 18:05:12 -0400 Subject: [PATCH] Fix: log4j example: set logger level to prevent unexpected level inheritance BSF or other jars can ship with log4j.properties file embedded. This causes problem when launching application with a general class path (e.g /usr/share/java/*) since log4j will look for a property 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 etc.). Link: https://issues.apache.org/jira/browse/BSF-24 Signed-off-by: Jonathan Rajotte Signed-off-by: Mathieu Desnoyers --- doc/examples/java-log4j/Hello.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/doc/examples/java-log4j/Hello.java b/doc/examples/java-log4j/Hello.java index 083ec12a..99bfe08f 100644 --- a/doc/examples/java-log4j/Hello.java +++ b/doc/examples/java-log4j/Hello.java @@ -23,6 +23,7 @@ import java.io.IOException; import org.apache.log4j.Logger; import org.apache.log4j.BasicConfigurator; +import org.apache.log4j.Level; import org.lttng.ust.agent.LTTngAgent; @@ -37,6 +38,16 @@ public class Hello public static void main(String args[]) throws Exception { + /* + * 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 + */ + helloLog.setLevel(Level.ALL); + BasicConfigurator.configure(); lttngAgent = LTTngAgent.getLTTngAgent(); -- 2.34.1