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。

 

转载于:https://www.cnblogs.com/yucy/p/9269985.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值