Mercurial Hosting > luan
view src/goodjava/logger/ThreadLocalAppender.java @ 1503:74c534de211f
use InheritableThreadLocal in ThreadLocalAppender
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 10 May 2020 23:28:16 -0600 |
parents | 219f2b937f2b |
children |
line wrap: on
line source
package goodjava.logger; public final class ThreadLocalAppender implements Appender { public volatile Appender defaultAppender; public final ThreadLocal<Appender> threadLocal = new InheritableThreadLocal<Appender>(); public ThreadLocalAppender(Appender defaultAppender) { this.defaultAppender = defaultAppender; } public void append(LoggingEvent event) { Appender appender = threadLocal.get(); if( appender == null ) appender = defaultAppender; appender.append(event); } public void close() { defaultAppender.close(); } }