[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[xmlblaster-devel] Redirect LogChannel for log4j
Hi xmlBlaster Developer,
I am developing a application that uses Log4J.
The xmlBlaster client classes are used in this project.
Now xml Blaster has its own logging. I would like, that the xmlblaster
loggings would appear in my log4j files.
The xmlBlaster (jutils) LogChannel has a super feature. I can define a
callback Interface, so all log calls can be caught and manipulated, e.g.
like this:
public class c implements org.jutils.log.LogableDevice {
/**
* Event fired by LogChannel.java through interface LogableDevice.
* <p />
* Log output into our Category <br />
*/
public void log(int level, String source, String str)
{
final Category log =
org.apache.log4j.Category.getInstance("org.xmlblaster");
StringBuffer logTxt = new StringBuffer();
logTxt.append("[");
logTxt.append(source);
logTxt.append("] ");
logTxt.append(str);
switch (level) {
case LogChannel.LOG_CALL:
case LogChannel.LOG_DUMP:
case LogChannel.LOG_TIME:
case LogChannel.LOG_TRACE:
if (log.isDebugEnabled())
log.debug(logTxt);
break;
case LogChannel.LOG_ERROR:
log.error(logTxt);
break;
case LogChannel.LOG_INFO:
log.info(logTxt);
break;
case LogChannel.LOG_WARN:
log.warn(logTxt);
break;
default:
log.info(logTxt);
break;
};
}
}
Now I have a problem with initializing. I have to get all LogChannels,
that are used by Global, without knowing the ids.
But there exists no appropriate method.
If I would have it, e.g. Enumeration Global.getLogs(), I could
initialize all Channels by adding my Interceptor.
Perhaps you can add it.
Thank you and many greetings
Uwe