Mercurial Hosting > luan
annotate src/goodjava/logger/ListLayout.java @ 2014:1cdc12cdcfa2 default tip
make logging more accessible
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 25 Sep 2025 23:41:41 -0600 |
parents | 6fc083e1d08c |
children |
rev | line source |
---|---|
1448 | 1 package goodjava.logger; |
2 | |
3 | |
4 public final class ListLayout implements Layout { | |
2014
1cdc12cdcfa2
make logging more accessible
Franklin Schmidt <fschmidt@gmail.com>
parents:
1448
diff
changeset
|
5 public final Layout[] layouts; |
1448 | 6 |
7 public ListLayout(final Object... args) { | |
8 layouts = new Layout[args.length]; | |
9 for( int i=0; i<args.length; i++ ) { | |
10 Object obj = args[i]; | |
11 if( obj instanceof Layout ) { | |
12 layouts[i] = (Layout)obj; | |
13 } else if( obj instanceof String ) { | |
14 layouts[i] = new StringLayout((String)obj); | |
15 } else { | |
16 throw new IllegalArgumentException("arg "+i); | |
17 } | |
18 } | |
19 } | |
20 | |
21 public String format(LoggingEvent event) { | |
22 StringBuilder sb = new StringBuilder(); | |
23 for( Layout layout : layouts ) { | |
24 sb.append( layout.format(event) ); | |
25 } | |
26 return sb.toString(); | |
27 } | |
28 | |
29 private static final class StringLayout implements Layout { | |
30 final String s; | |
31 | |
32 StringLayout(String s) { | |
33 this.s = s; | |
34 } | |
35 | |
36 public String format(LoggingEvent event) { | |
37 return s; | |
38 } | |
39 } | |
40 } |