I don't recall (emphasis on recall) seeing anything about async'ing the compression. Can you provide me some links to refresh my memory? I think this is a good idea, it's just a reasonable chunk of work, and async stuff can be complicated.





After completing the refactoring of the pattern code, I went back and read the mailing list archives and open bug reports on the rolling file appenders. Async compression was raised in http:// marc.theaimsgroup.com/?l=log4j-user&m=109144092332509&w=2 last August. The issues raised there did seem legitimate and difficult to address with the current interface definitions.

August! Probably why I don't remember it. I don't remember last week as it is... :) I love the idea of Asnyc roll/compress, as the mail thread pointed out, a system can be blocking quite a while if the log file is being compressed in a synchronous manner while holding the appender lock. If no-one else has any objects this will be a good feature.

I must admit thought thatIi'm not a fan of the change to the API of 'rollover()' to "rollover(List, List)". It doesn't seem very satisfying, even if it does do the job intended. The use of the Command pattern is good, but the api change doesn't feel quite right. Should the sync actions just be execute()d by the current thread, and then the runnables deferred to an util.concurrent.Executor instance? (That would be a dependency, but it is a good library, we can execute them all synchronously if the library is not present). I'd hate to see log4j grow just because we want to keep dependencies to a minimum, otherwise the classic rule "Applications/Libraries expand their scope until they can send mail" as we add features.

One day log4j will have a JDK 5.0 dependency and we can enjoy the juicy util.concurrent library that got rolled into it.

Paul



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to