功能很简单:在工程中使用logback记录日志,通过logstash的tcp传入es。
ElasticSearch LogStash Kibana 都是7.3
EurekaServer:提供注册中心
ServiceProvider:启动9002,9003两个端口作为服务提供者
FeignClient:使用Feign进行消费
ServiceProvider服务中提供Restful接口,http://localhost:9002/provider/getSomthing 返回当前服务的端口号
FeignClient消费者通过Feignhttp://localhost/9004/feign/getPort调用ServiceProvider服务,获取服务的端口号
日志记录在·ServiceProvider工程中
首先在pom中引入依赖
<!-- https://mvnrepository.com/artifact/net.logstash.logback/logstash-logback-encoder -->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>6.1</version>
</dependency>
在/src/main/resources/路径下新建logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<contextName>ProviderLog</contextName>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<!--本工程中没使用文件输出日志,只用了console和logstash,此处配置无用-->
<property name="LOG_HOME" value="D:/" />
<!--可以手动指定log名字-->
<property name="appName" value="wdnmdService" />
<!--也可以使用工程的名字-->
<springProperty scope="context" name="springAppName" source="spring.application.name"/>
<springProperty scope="context" name="serverPort" source="server.port"/>
<!-- logstash远程日志配置-->
<appender name="stash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>127.0.0.1:5044</destination>
<!-- 默认是JSON格式,所以logstash中