Okay, I think I've found it... BootstrapLog4jLog and BootstrapJdk1.4Log both have static blocks that install logging configuration programatically.

I'm going to add a new method to GeronimoLogging, which will check if this behavior is enabled or not:

    /**
* Check if the Geronimo bootstrap logging initialization is enabled.
     *
* <p>Checks the system property <tt>geronimo.bootstrap.logging.enabled</tt> * if not set, or set to "true" then bootstrap logging initialization is enabled.
     *
     * @return  True of bootstrap logging initialization is enabled.
     */
    public static boolean isBootstrapLoggingInitializationEnabled() {
String value = System.getProperty ("geronimo.bootstrap.logging.enabled");
        if (value == null) {
            return true;
        }
        else {
            return Boolean.valueOf(value).booleanValue();
        }
    }

And then wrap the static blocks in the Log impls to only execute if isBootstrapLoggingInitializationEnabled() returns true.

Then to hook up, I'm going to specify - Dgeronimo.bootstrap.logging.enabled=false to the argLine in project- config.

This should leave things as per normal for running the server, and still allow the tests to be run from a single log4j logging configuration. After this, target/test.log should contain DEBUG level messages for the tests run, and only ERROR+ will get written to console.

I'm going to double check... no triple check that this does not alter the servers logging and then commit.

--jason


On Aug 30, 2006, at 4:50 PM, Dain Sundstrom wrote:

You should be able to turn on debugging, add a break point in the logging code and see which test is causing the problem.

-dain

On Aug 30, 2006, at 4:31 PM, Jason Dillon wrote:

Looks like there is more going on which is causing tests to use some additional configuration for tests...

Specifically, looks like something else is installing a ConsoleAppender... as if I comment out the CONSOLE definition from logging-config, then I still get console output.

I'm also seeing that something is setting the root logger's level... as I've got the root configured to use DEBUG, but that will not output DEBUG logs to the test.log as I would expect. I have to explicitly configure org.apache.geronimo to use DEBUG, and then I see the logs in test.log... but now with some rouge ConsoleAppender it spits out a bunch of junk to the console.

Highly frustrating... :-(

--jason


On Aug 30, 2006, at 3:53 PM, Jason Dillon wrote:

This is fixed now... though it still spits out a few ERROR logs, which I am hoping are expected from the test...

--jason


On Aug 30, 2006, at 3:49 PM, Jason Dillon wrote:

Um... looks like a few of these tests are explicitly enabling DEBUG and installing a ConsoleAppender...

Logger.getRootLogger().addAppender(new ConsoleAppender(new PatternLayout("%p [%t] %m %n")));
    Logger.getRootLogger().setLevel(Level.DEBUG);

I'm not sure how they were quiet before m2 with code like above in setUp().

--jason


On Aug 28, 2006, at 4:29 PM, Jason Dillon wrote:

Thats odd, because the default logging config is set to only allow WARN and ERROR to go to console, not DEBUG.

Do these tests need to:

    GeronimoLogging.initialize(GeronimoLogging.INFO);

Or something?

--jason


On Aug 28, 2006, at 10:14 AM, Dain Sundstrom wrote:

Not me. They were quiet before the m2 change but it looks like logging got turned up.

-dain

On Aug 28, 2006, at 2:26 AM, Jason Dillon wrote:

These tests make way... way to much noise.

Anyone know how to make them shut up?

--jason






Reply via email to