1. I checked in the new logging stuff, without checking in any code that uses it. That code will be checked in after this release as I don't want to destabilize stuff right now.
The logger I checked in should be very similar to log4j. 2. I want to remove ContainerLifeCycleObject. It isn't very useful and using base classes for custom logic is not intuitive in javascript. Here is what I want to do instead: When any custom class is put into a container, call "addedToContainer" on it. (We do this already) When any custom class is removed from a container, call "removedFromContainer" on it. (We do this already) When any custom class is put into a container, if it does not already have a "getSession" method on it inject one that does the right thing. (This would be a new behavior) The third part is the key. The only thing the ContainerLifeCycleObject really does is automatically provide a getSession(), but we can do that through injection. (Reminder: right now in an event handler the only way to get the session is to get it off the event object, or else have extended ContainerLifeCycleObject.) We only use ContainerLifeCycleObject in a handful of places and it would be very easy to remove. I'm all for less code, especially if the code being removed doesn't really do much anyway. James Margaris
