You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-user@logging.apache.org by Jefferson Silva <Je...@eldorado.org.br> on 2002/08/16 22:17:45 UTC
problem with removeAllAppenders
Hi guys, I'm new to log4j + JDBCAppenders. I've used log4j before.
My problem is the following:
I have the following config file:
log4j.rootLogger=INFO, R1
log4j.appender.R1.layout=org.apache.log4j.PatternLayout
log4j.appender.R1.layout.ConversionPattern=%d %-5p: %m%n
log4j.appender.R1=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.R1.URL=jdbc:oracle:thin:@machine1:1521:abcd
log4j.appender.R1.driver=oracle.jdbc.driver.OracleDriver
log4j.appender.R1.user=abcd
log4j.appender.R1.password=abcd
log4j.appender.R1.sql=INSERT INTO JDBCTEST (Message, Log_Date) VALUES ('%m',
'%d')
and the following piece of code:
PropertyConfigurator.configure("log4j.properties");
Logger logger = Logger.getLogger("Teste");
Enumeration e = logger.getAllAppenders();
while (e.hasMoreElements())
{
Appender ap = (Appender)e.nextElement();
logger.removeAppender(ap);
System.out.println("Removing appender " + ap);
}
MyAppender my = new MyAppender();
logger.addAppender(my);
logger.info("Logging using MyAppender");
where MyAppender is a class that extends the JDBCAppender.
The problem is that for logger.info line above, two rows in the database is
created.
The reason is that the while(e.hasMoreElements()) does not remove the first
appender
(the one which came from the properties file ). My question is why the first
appender
was not removed ?
Thanks in advance
Jefferson
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>