Mercurial Hosting > luan
annotate src/goodjava/logger/ListLayout.java @ 2015:61b0cc7db09c default tip fixssl
Manually specify letsencrypt server due to acme default server change (to zerossl)
author | Violet7 |
---|---|
date | Sat, 27 Sep 2025 13:37:11 -0700 |
parents | 1cdc12cdcfa2 |
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 } |