[lttng-dev] [PATCH lttng-ust] log4j example: systematically set the logger level to prevent unexpected level inheritance
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Thu May 26 22:14:29 UTC 2016
Merged into master, 2.8, 2.7, thanks!
Mathieu
----- On May 26, 2016, at 6:05 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 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
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list