Hi,
I'm a new log4j user. I want to use it in a j2ee web application--however,
I want its components, packed in separate jars, to use the same logger(s),
if possible. My configuration is shown below:
j2ee web app
=======
webroot/
WEB-INF/
classes/
log4jInitServlet (uses log4j props file)
log4j.properties
com.foo/ (classes in this package use logger)
So far so good. I'm able to initialize a logger, and to log from any of the
classes in "classes/".
Now, I want to use this already-initialized logger to log from classes
deployed in jar files in WEB-INF/lib/ . Is this possible? Thus far my
attempts have been unsuccessful.
For example, I have a separate java project, whose classes reside in package
"com.bar", and which have been jar-ed and placed in WEB-INF/lib. One of
those classes is something like this:
package com.bar;
import org.apache.log4j.*;
class Bar {
static Logger logger = Logger.getLogger(Bar.class.getName());
public void getBar() {
logMessage( "called getBar", Level.INFO);
}
private void logMessage(String msg, Level lvl) {
if ( logger != null && logger.getAllAppenders().hasMoreElements() )
logger.log(lvl, msg);
else
System.out.println("sysout:" + msg + " : " + lvl.toString());
}
}
The idea is that Bar provides some functionality to the webapp, and I want
calls to it logged. Again, though, I'd like Bar's logging to use the same
logger(s) already-initialised by the webapp. My props file is as below:
log4j.rootLogger=ERROR, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
# Set levels
log4j.logger.com.foo=INFO
log4j.logger.com.bar=DEBUG
However, all log output from bar says "sysout", meaning it isn't using the
logger. I suspect this may be classloader related, but am unsure.
Would somebody enlighten me, please?
(I did search the web, and will continue to do so -- but have not yet come
across anything germane.)
Regards,
--A
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]