zoukankan      html  css  js  c++  java
  • java项目日志写到logstash-TCP/UDP

    好处:项目日志写到logstash,然后发送到ElasticSearch,可以方便查看搜索日志,还可以做报表分析。

    logstash是一个数据采集工具,有多种渠道,比如文件,tcp,udp等,如果是采集日志文件,那么需要在存放文件所在的服务器上,启动一个logstash服务,不方便快速部署;而采用tcp/udp的方式相对来讲就简单一点,只需要将数据发送到logstash服务就行。这里主要讲一下网络传输的方式。

    首先,无论是tcp还是udp,都需要在maven里添加依赖:

    <dependency>
        <groupId>net.logstash.logback</groupId>
        <artifactId>logstash-logback-encoder</artifactId>
        <version>4.8</version>
    </dependency>

    这里我们使用的是logback日志框架

    TCP

        <appender name="tcp_logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
            <destination>192.168.10.11:2233</destination>
            <!-- encoder必须配置,有多种可选 -->
            <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" />
        </appender>

    注意:class使用的是LogstashTcpSocketAppender,支持tcp传输

    UDP

        <appender name="udp_logstash" class="net.logstash.logback.appender.LogstashSocketAppender">
            <host>192.168.10.11</host>
            <port>3333</port>
        </appender>

    注意:class使用的是LogstashSocketAppender,支持udp传输

    最后在<root>里,添加相应的引用就行,例如:

        <root level="warn">
            <appender-ref ref="udp_logstash" />
            <appender-ref ref="console" />
            <appender-ref ref="info" />
            <appender-ref ref="warn" />
            <appender-ref ref="error" />
        </root>

    到此,我们代码里的配置就完成了,启动程序之后,会将相应level+的日志发送到logstash。

  • 相关阅读:
    BZOJ 3811: 玛里苟斯 线性基
    HDU 3949 XOR 线性基
    BZOJ 2115: [Wc2011] Xor 线性基 dfs
    BZOJ 3963 HDU3842 [WF2011]MachineWorks cdq分治 斜率优化 dp
    BZOJ 3262: 陌上花开 cdq分治 树状数组
    BZOJ 2653: middle 主席树 二分
    BZOJ 3524 [Poi2014]Couriers 主席树
    BZOJ 4826: [Hnoi2017]影魔 单调栈 主席树
    BZOJ 3956: Count 主席树 可持久化线段树 单调栈
    2018/4/9省选模拟赛 0分
  • 原文地址:https://www.cnblogs.com/yucy/p/9269985.html
Copyright © 2011-2022 走看看