美文网首页
Flink总结-日志Log4j

Flink总结-日志Log4j

作者: zachary_1db5 | 来源:发表于2018-04-19 20:49 被阅读0次

    Flink使用的slf4j接口,如果要使用logback,只需要把log4j排除在外就可以了

    在flink-dist_2.10-1.3.1.jar的jar包中,是没有logback的依赖,所以需要加进去才行

    使用json格式打印日志

    logback日志打印成json格式

    在flink的项目中只有slf4j的包,所以需要加入loback的包。又因为flink中hadoop的jar包使用的固定的log4j包。所以需要加入的jar包有:

    • jackson-annotations-2.9.0.jar
    • jackson-core-2.9.0.jar
    • jackson-databind-2.9.0.jar
    • log4j-1.2.17.jar
    • logback-classic-1.2.3.jar
    • logback-core-1.2.3.jar
    • logstash-logback-encoder-5.0.jar
    • slf4j-api-1.7.25.jar

    需要将日志转换成json格式,需要额外的增加logstash的jar包和配置

    • logstash-logback-encoder-4.11.jar
    • jackson-databind-2.8.9.jar

    参考文档

    https://github.com/logstash/logstash-logback-encoder#composite-encoderlayout

    <appender name="file" class="ch.qos.logback.core.FileAppender">
    <file>${log.file}</file>
    <append>false</append>
         <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
      <providers>
        <timestamp/>
        <threadName/>
        <logLevel/>
        <callerData/>
        <message/>
        <stackTrace/>
      </providers>
    </encoder>
        </appender>
    

    log4j日志打印成json格式

    使用组件
    Logstash json_event pattern for log4j

    The PatternLayout an organization uses is pretty much begging to be bikeshedded. This library is essentially a "preformatted" layout that just happens to be the exact format that Logstash uses for json_event.

    需要的依赖包:

    • json-smart v1.1.1
    • jsonevent-layout
    比较大的坑

    由于打印出的日志包含 md5{}, filebeat转化的是报deconder的异常

    https://github.com/logstash/log4j-jsonevent-layout

    相关文章

      网友评论

          本文标题:Flink总结-日志Log4j

          本文链接:https://www.haomeiwen.com/subject/jhqgkftx.html