[slf4j-user] Re: disappearing log levels
Cameron Taggart
cameron.taggart at gmail.com
Sat Jun 10 20:25:28 CEST 2006
I figured it out. I just attached the log4j source code in Eclipse
and set a bunch of break points. The offending library appears to be
calling LogManager.getRootLogger().setLevel(Level.ERROR). My
work-a-round is simply to reset it back to what it used to be. Any
other suggestions? Yes, I'll talk to the third party about this poor
behavior.
My work-a-round:
Level originalLevel = rootLogger.getLevel();
openDocument(); // third party function call
Level modifiedLevel = rootLogger.getLevel();
System.out.println("original level: "+originalLevel);
System.out.println("modified level: "+modifiedLevel);
rootLogger.setLevel(originalLevel);
original level: DEBUG
modified level: ERROR
Cameron
On 6/9/06, Cameron Taggart <cameron.taggart at gmail.com> wrote:
> Sorry if this is slightly off topic as I have boiled this down to more
> of a log4j issue. I'm using SLF4J in my project, but a third party
> library uses log4j directly. When I call one of their methods all
> logging statements bellow ERROR Level seem to disappear. I've tried
> passing in -Dlog4j.debug=true -Dlog4j.disableOverride=true to the
> application and it doesn't seem to help. I tried using log4j 1.2.8
> and the 1.2.13. log4j.debug doesn't mention anything about being
> overridden.
>
> Here is sample code and output.
>
> package test;
>
> import org.apache.log4j.Logger;
>
> import com.crystaldecisions.reports.sdk.ReportClientDocument;
>
> /** What are the CR4E libraries doing with log4j? */
> public class DisappearingLog4j {
>
> private final static Logger log = Logger.getLogger(DisappearingLog4j.class);
> private final static String file = "CrystalReport1.rpt";
>
> public static void main(String[] args) throws Exception {
>
> ReportClientDocument clientDoc = new ReportClientDocument();
>
> log.debug("This debug statement shows up.");
> log.info("This info statement shows up.");
> log.warn("This warn statement shows up.");
> log.error("This error statement shows up.");
>
> clientDoc.open(file, 0);
>
> log.debug("This debug statement does not show up!!!");
> log.info("This info statement does not show up!!!");
> log.warn("This warn statement does not show up!!!");
> log.error("This error statement shows up.");
>
> }
>
> }
>
> 2006-06-09 17:30:19,603 DEBUG test.DisappearingLog4j This debug
> statement shows up.
> 2006-06-09 17:30:19,603 INFO test.DisappearingLog4j This info
> statement shows up.
> 2006-06-09 17:30:19,603 WARN test.DisappearingLog4j This warn
> statement shows up.
> 2006-06-09 17:30:19,603 ERROR test.DisappearingLog4j This error
> statement shows up.
> 2006-06-09 17:30:21,065 ERROR test.DisappearingLog4j This error
> statement shows up.
>
> Any help is appreciated.
>
> Cameron
>
More information about the slf4j-user
mailing list