项目作者: poblish

项目描述 :
Demonstrate a more capable ObjectAppendingMarker and Marker-builder API
高级语言: Java
项目地址: git://github.com/poblish/logback-encoder-test.git
创建时间: 2017-05-01T21:13:54Z
项目社区:https://github.com/poblish/logback-encoder-test

开源协议:

下载


logback-encoder-test

Goals:

  1. Establish (via tests) how the net.logstash.logback.encoder.LogstashEncoder behaves with various different types of Marker payload, including byte[], Enumeration, Optional, BigInteger, BigDecimal, Stream, Iterator, Iterable, etc. For example:

    1. import static org.test.OurMarkers.append;
    2. LogstashMarker m = append("Bytes", "གུ་གེ་ཚེ་རིང་རྒྱལ་པོ་".getBytes(Charsets.UTF_8));
    3. assertThat( markerToString(m) ).contains("\"Bytes\":\"གུ་གེ་ཚེ་རིང་རྒྱལ་པོ་\"");
    4. ...
    5. Enumeration<String> e = new Vector<>(Arrays.asList("製品に関する重要なお知らせ", "b", "c")).elements();
    6. LogstashMarker m = append("Enum", e);
    7. assertThat( markerToString(m) ).contains("\"Enum\":[\"製品に関する重要なお知らせ\",\"b\",\"c\"]");
    8. ...
    9. assertThat( markerToString( append("Opt", Optional.of("hello")) ) ).contains("\"Opt\":\"hello\"");
    10. assertThat( markerToString( append("Opt", Optional.empty()) ) ).contains("\"Opt\":\"<missing>\"");
  2. Demonstrate a (hopefully) more helpful API for joining multiple Markers for a SLF4J log event. For example:

    1. import org.apache.commons.lang3.tuple.Pair;
    2. import static org.test.OurMarkers.with;
    3. ...
    4. logger.info( with(marker1, marker2, marker3), "event");
    5. logger.info( with( Pair.of("a","b"), Pair.of("c","d")), "event");