> I'm not sure I'd want to attempt that. Modifications in logging code
> have a tendency to come back and bite you ;-(...
I understand. Maybe a future RFE. I'm happy with your changes then.
> isLoggable() is not synchronized and no longer calls synchronized
> methods since we're now using volatiles.
>
> So it can now be called by Thread A even if Thread B has locked
> the handler.
>
> Or did I miss something?
Yes and no. Place this code in the actual context it is used
(Logger.log(LogRecord)) and you'll find that Thread A and B will only call
publish->isLoggable not isLoggable->publish->isLoggable. It is written that
way to avoid double filtering.
Jason