log4j 1.3 is definitely different that log4j 1.2 in internal logging. log4j 1.2 used the LogLog class and basically wrote everything out to the Console. log4j 1.3 uses itself for logging using logger names "org.apache.log4j...". Things particularly get interesting in configuration as log messages are cached until the configuration is complete and then replayed through the newly configured logging hierarchy. That additivity doesn't work as expected in that scenario.

The internal logging (particularly in the Joran configuration) is much more "chatty" in log4j 1.3 than in log4j 1.2. In log4j 1.2, you didn't see anything in the console unless something was seriously wrong. In log4j 1.3, a lot of normal conditions are logged as "INFO" and without an explicit step to raise the threshold for the "org.apache.log4j" level, your application log might be polluted with a lot of new messages that you would not have seen with log4j 1.2. This is apparent in the test cases where almost all the configuration files needed to add something like:

#  Prevent internal log4j DEBUG messages from polluting the output.
log4j.logger.org.apache.log4j.PropertyConfigurator=INFO
log4j.logger.org.apache.log4j.config.PropertySetter=INFO
log4j.logger.org.apache.log4j.FileAppender=INFO

To prevent log4j internal logging from causing the comparison with the expected files to fail.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to