Mirror of the lttng-dev mailing list
 help / color / mirror / Atom feed
* [lttng-dev] [PATCH lttng-ust] log4j example: systematically set the logger level to prevent unexpected level inheritance
@ 2016-05-26 22:05 Jonathan Rajotte
  2016-05-26 22:14 ` Mathieu Desnoyers
  0 siblings, 1 reply; 2+ messages in thread
From: Jonathan Rajotte @ 2016-05-26 22:05 UTC (permalink / raw)


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

https://issues.apache.org/jira/browse/BSF-24

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien at efficios.com>
---
 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 a477e33..496c840 100644
--- a/doc/examples/java-log4j/Hello.java
+++ b/doc/examples/java-log4j/Hello.java
@@ -26,6 +26,7 @@ import java.io.IOException;
 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;
 
 /**
@@ -64,6 +65,16 @@ public class Hello {
 	 *             command line.
 	 */
 	public static void main(String args[]) throws IOException {
+
+		/* 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
+		 */
+		HELLO_LOG.setLevel(Level.ALL);
+
 		/* Start with the default Log4j configuration, which logs to console */
 		BasicConfigurator.configure();
 
-- 
2.7.4



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-05-26 22:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-26 22:05 [lttng-dev] [PATCH lttng-ust] log4j example: systematically set the logger level to prevent unexpected level inheritance Jonathan Rajotte
2016-05-26 22:14 ` Mathieu Desnoyers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox