Thanks Ceki. I'll look at that. > -----Original Message----- > From: Ceki G�lc� [mailto:[EMAIL PROTECTED] > Sent: Friday, September 05, 2003 3:25 PM > To: Log4J Users List > Subject: Re: swithing appenders at runtime without losing log messages > > > > That is quite an interesting problem. Without thinking about it too > much, I think your best bet to extend an appender so that it can > replace itself with another. For example, see the source code of > org.apache.log4j.varia.FallbackErrorHandler which performs a > similar task. > > At 03:02 PM 9/5/2003 -0400, you wrote: > >Hello, > > > >My organization is switching to log4j. I implemented an > extension to the old > >logging package so that I could switch the log message > destinations (two > >files) > >back and forth. Now I need to do the same with log4j. > > > >Here is what I did, please let me know if this will work, or > any better > >ways. > > > >1) extended Logger > > > >public class RecoverLog4jLogger extends Logger { > > > > RecoverLog4jLogger(String name) { > > super(name); > > } > > > > synchronized public void replaceAppender(Appender > oldAppender, Appender > >newA > >ppender) { > > super.removeAppender(oldAppender); > > super.addAppender(newAppender); > > } > >} > > > >2) implemented custom LoggerFactory > > > >class RecoverLog4jFactory implements LoggerFactory { > > > > RecoverLog4jFactory() { > > } > > > > public RecoverLog4jLogger makeNewLoggerInstance(String name) { > > return new RecoverLog4jLogger(name); > > } > >} > > > > > >The idea is upon receiving request to switch log file, the > 'replaceAppender' > >will > >be called. By grouping the 'removeAppender' and > 'addAppender' together, I > >hope > >message won't get lost (or duplicated), since there is a > single lock and > >single > >lock acquire/release by doing this. > > > >Two questions: > >1) Will this guarantee no lost message or duplicated message? > >2) Will the 'replaceAppender' API be generally useful? If > so, can that make > >into > > the log4j framework per se? > > > >Thanks for your help. > > > >Glenn > > > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > -- > Ceki G�lc� > > For log4j documentation consider "The complete log4j manual" > ISBN: 2970036908 http://www.qos.ch/shop/products/clm_t.jsp > > See you in November at ApacheCon US 2003 in Las Vegas. > http://apachecon.com/ > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
