1450
|
1 package goodjava.logger;
|
|
2
|
|
3
|
1451
|
4 public final class ThreadLocalAppender implements Appender {
|
1454
|
5 public volatile Appender defaultAppender;
|
1450
|
6 public final ThreadLocal<Appender> threadLocal = new ThreadLocal<Appender>();
|
|
7
|
|
8 public ThreadLocalAppender(Appender defaultAppender) {
|
|
9 this.defaultAppender = defaultAppender;
|
|
10 }
|
|
11
|
|
12 public void append(LoggingEvent event) {
|
|
13 Appender appender = threadLocal.get();
|
|
14 if( appender == null )
|
|
15 appender = defaultAppender;
|
|
16 appender.append(event);
|
|
17 }
|
|
18
|
|
19 public void close() {
|
|
20 defaultAppender.close();
|
|
21 }
|
|
22 }
|