Re: Log4J Ignores log4j.LogLevel
Kevin Sandal wrote:
I have an external file called "log4j.properties" that is being utilized. I
know this since the log file is being created. However, the logging level
(log4j.LogLevel) is being ignored. Please help me find where I am going
My code, with all the fluff removed,
not to mention many pieces needed to let it compile,
private static Logger _myLogger = null;
The constructor tells us that your class name (inconveniently omitted from
your post) is Logger, which is also a log4j class name. Of which type is
private static Log _apacheLog = null;
public static synchronized Logger getInstance( final Class
if( null == _myLogger )
_myLogger = new Logger();
Based on the code you provide, this is assigning an instance of the custom
"Logger" class to the static variable.
if( null == _apacheLog )
PropertyConfigurator.configure( "./config/log4j.properites" );
How would this work? You have only instances of your custom Logger class, not
of the log4j class, right?
_apacheLog = LogFactory.getLog( runtimeClass );
From this we see that _myLogger will change every time the factory method is
invoked. Why do you store the value in the static member and return it, both?
The properties file is:
log4j.rootCategory=, A1, A2
I use something like
log4j.rootCategory = WARN, A1
# Set properties for appender A1 (Rolling File Appender)
# Set properties for appender A2 (Console Appender)
# Logging specific to Jakarta Commons Configuration (3rd party open
Wouldn't it be simpler just to create a log4j logger, org.apache.log4j.Logger,
Logger logger = Logger.getLogger( someClass );
Try providing a complete example that we can compile and maybe we could give
better responses, plus I am not knowledge about the commons logging framework.
I use log4j a lot, though, and have absolutely no trouble setting the log
level with the log4j.properties file.