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>

Reply via email to