You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by bu...@apache.org on 2009/07/27 16:44:25 UTC
DO NOT REPLY [Bug 47588] New: Effective Level of logger randomly
changes
https://issues.apache.org/bugzilla/show_bug.cgi?id=47588
Summary: Effective Level of logger randomly changes
Product: Log4j
Version: 1.2
Platform: PC
OS/Version: Windows XP
Status: NEW
Severity: critical
Priority: P2
Component: Other
AssignedTo: log4j-dev@logging.apache.org
ReportedBy: slfrank@fedins.com
Under heavy load scenarios (20 users, 1 hit per second each), the effective
logging level will randomly change to erroneous values (Set at Info, changes to
debug or fatal, etc). This prevents some messages from printing, and others
printed when they should not be.
Code.
if (logger.isDebugEnabled()) {
System.out.println("Start");
System.out.println("Logger level: " + logger.getEffectiveLevel());
System.out.println("Logger level: " + logger.getEffectiveLevel());
System.out.println("Logger level: " + logger.getEffectiveLevel());
System.out.println("Logger level: " + logger.getEffectiveLevel());
System.out.println("Logger level: " + logger.getEffectiveLevel());
System.out.println("Logger level: " + logger.getEffectiveLevel());
System.out.println("Logger level: " + logger.getEffectiveLevel());
System.out.println("Logger level: " + logger.getEffectiveLevel());
System.out.println("Logger level: " + logger.getEffectiveLevel());
System.out.println("Logger level: " + logger.getEffectiveLevel());
System.out.println("Logger level: " + logger.getEffectiveLevel());
System.out.println("Logger level: " + logger.getEffectiveLevel());
System.out.println("Logger level: " + logger.getEffectiveLevel());
System.out.println("Logger level: " + logger.getEffectiveLevel());
System.out.println("Logger level: " + logger.getEffectiveLevel());
System.out.println("Logger level: " + logger.getEffectiveLevel());
System.out.println("Logger level: " + logger.getEffectiveLevel());
System.out.println("Logger level: " + logger.getEffectiveLevel());
System.out.println("Logger level: " + logger.getEffectiveLevel());
System.out.println("Logger level: " + logger.getEffectiveLevel());
System.out.println("Logger level: " + logger.getEffectiveLevel());
System.out.println("Logger level: " + logger.getEffectiveLevel());
System.out.println("Done");
}
Output:
[7/23/09 12:09:12:404 CDT] 0000002a SystemOut O Start
[7/23/09 12:09:12:404 CDT] 0000002a SystemOut O Logger level: WARN
[7/23/09 12:09:12:404 CDT] 0000002a SystemOut O Logger level: DEBUG
[7/23/09 12:09:12:404 CDT] 0000002a SystemOut O Logger level: WARN
[7/23/09 12:09:12:404 CDT] 0000002a SystemOut O Logger level: FATAL
[7/23/09 12:09:12:404 CDT] 0000002a SystemOut O Logger level: FATAL
[7/23/09 12:09:12:404 CDT] 0000002a SystemOut O Logger level: WARN
[7/23/09 12:09:12:404 CDT] 0000002a SystemOut O Logger level: WARN
[7/23/09 12:09:12:404 CDT] 0000002a SystemOut O Logger level: WARN
[7/23/09 12:09:12:404 CDT] 0000002a SystemOut O Logger level: WARN
[7/23/09 12:09:12:404 CDT] 0000002a SystemOut O Logger level: FATAL
[7/23/09 12:09:12:404 CDT] 0000002a SystemOut O Logger level: FATAL
[7/23/09 12:09:12:404 CDT] 0000002a SystemOut O Logger level: FATAL
[7/23/09 12:09:12:404 CDT] 0000002a SystemOut O Logger level: FATAL
[7/23/09 12:09:12:404 CDT] 0000002a SystemOut O Logger level: FATAL
[7/23/09 12:09:12:404 CDT] 0000002a SystemOut O Logger level: FATAL
[7/23/09 12:09:12:404 CDT] 0000002a SystemOut O Logger level: FATAL
[7/23/09 12:09:12:419 CDT] 0000002a SystemOut O Logger level: FATAL
[7/23/09 12:09:12:419 CDT] 0000002a SystemOut O Logger level: FATAL
[7/23/09 12:09:12:419 CDT] 0000002a SystemOut O Logger level: FATAL
[7/23/09 12:09:12:419 CDT] 0000002a SystemOut O Logger level: FATAL
[7/23/09 12:09:12:419 CDT] 0000002a SystemOut O Logger level: FATAL
[7/23/09 12:09:12:419 CDT] 0000002a SystemOut O Logger level: FATAL
[7/23/09 12:09:12:419 CDT] 0000002a SystemOut O Done
System.out.println is only used in this case to ensure it is always printed so
it can debug. Normally would use log4j.debug/etc.
rootlogger and class level loggers are all set up for ERROR in this case.
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org
DO NOT REPLY [Bug 47588] Effective Level of logger randomly changes
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=47588
slfrank@fedins.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |INVALID
--- Comment #1 from slfrank@fedins.com 2009-07-29 06:29:27 PST ---
It was due to reading the property file and setting the configuration too many
times.
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org