Mercurial Hosting > luan
annotate src/goodjava/logger/ListLayout.java @ 2021:b8e5d53c4fc9
admin monitors scheduler
| author | Franklin Schmidt <fschmidt@gmail.com> |
|---|---|
| date | Mon, 20 Oct 2025 14:45:27 -0600 |
| 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 } |
