In that case, the only thing that sounds like it might be useful would be updating StatusLogger (unless the GC-free path requires disabling log4j's logging).
On 25 February 2016 at 16:56, Remko Popma <remko.po...@gmail.com> wrote: > If it's a CopyOnWriteArray*List* we can iterate by index, instead of the > for-each loop style. However, it may be good to focus on steady state > application logging. For things only used during initialization there may > not be much benefit. The test to detect memory allocation would be really > useful, but I haven't had time to look at this. (If anyone wants to work on > that that'd be great.) > > One thing: currently StatusLogger creates special ParameterizedMessages > without a reference to the original parameters to prevent memory leaks. Now > that the formatting logic is separated out to ParameterFormatter, that can > be optimized to an ObjectMessage (holding a StringBuilder?). The > specialized ParameterizedMessage subclass can then be removed which is a > nice simplification. > > Sent from my iPhone > > On 2016/02/26, at 5:46, Matt Sicker <boa...@gmail.com> wrote: > > * StatusLogger (StatusListener list) > * LoggerContext (PropertyChangeListener list) > * AbstractConfiguration (ConfigurationListener list) > * PluginManager (String list of packages to scan) > * DefaultShutdownCallbackRegistry (Cancellable list) > * And some irrelevant usages in log4j-perf (they're intentionally using > CopyOnWriteArrayList/Set) > > On 25 February 2016 at 14:18, Ralph Goers <ralph.go...@dslextreme.com> > wrote: > >> Do you have a list? >> >> Ralph >> >> On Feb 25, 2016, at 1:07 PM, Matt Sicker <boa...@gmail.com> wrote: >> >> So far I've found a couple places we use a CopyOnWriteArrayList for >> listeners in StatusLogger and core.LoggerContext. I could refactor these >> usages to use a custom set-like class like we use for the AppenderControl >> set, but I don't know if it's worth it. >> >> -- >> Matt Sicker <boa...@gmail.com> >> >> >> > > > -- > Matt Sicker <boa...@gmail.com> > > -- Matt Sicker <boa...@gmail.com>