feat(可回溯): 重构
增加feign
This commit is contained in:
@@ -0,0 +1,38 @@
|
|||||||
|
target/
|
||||||
|
!.mvn/wrapper/maven-wrapper.jar
|
||||||
|
!**/src/main/**/target/
|
||||||
|
!**/src/test/**/target/
|
||||||
|
|
||||||
|
### IntelliJ IDEA ###
|
||||||
|
.idea/modules.xml
|
||||||
|
.idea/jarRepositories.xml
|
||||||
|
.idea/compiler.xml
|
||||||
|
.idea/libraries/
|
||||||
|
*.iws
|
||||||
|
*.iml
|
||||||
|
*.ipr
|
||||||
|
|
||||||
|
### Eclipse ###
|
||||||
|
.apt_generated
|
||||||
|
.classpath
|
||||||
|
.factorypath
|
||||||
|
.project
|
||||||
|
.settings
|
||||||
|
.springBeans
|
||||||
|
.sts4-cache
|
||||||
|
|
||||||
|
### NetBeans ###
|
||||||
|
/nbproject/private/
|
||||||
|
/nbbuild/
|
||||||
|
/dist/
|
||||||
|
/nbdist/
|
||||||
|
/.nb-gradle/
|
||||||
|
build/
|
||||||
|
!**/src/main/**/build/
|
||||||
|
!**/src/test/**/build/
|
||||||
|
|
||||||
|
### VS Code ###
|
||||||
|
.vscode/
|
||||||
|
|
||||||
|
### Mac OS ###
|
||||||
|
.DS_Store
|
||||||
@@ -0,0 +1,100 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<groupId>com.wabestway.recall</groupId>
|
||||||
|
<artifactId>afis-recall-api</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.source>1.8</maven.compiler.source>
|
||||||
|
<maven.compiler.target>1.8</maven.compiler.target>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.wabestway.common</groupId>
|
||||||
|
<artifactId>afis-web-common</artifactId>
|
||||||
|
<version>1.0</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.cloud</groupId>
|
||||||
|
<artifactId>spring-cloud-starter-openfeign</artifactId>
|
||||||
|
<version>2.2.3.RELEASE</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.code.gson</groupId>
|
||||||
|
<artifactId>gson</artifactId>
|
||||||
|
<version>2.8.6</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.springfox</groupId>
|
||||||
|
<artifactId>springfox-swagger2</artifactId>
|
||||||
|
<version>3.0.0</version>
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>io.swagger</groupId>
|
||||||
|
<artifactId>swagger-models</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.swagger</groupId>
|
||||||
|
<artifactId>swagger-models</artifactId>
|
||||||
|
<version>1.5.22</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
<!--lombok插件 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.projectlombok</groupId>
|
||||||
|
<artifactId>lombok</artifactId>
|
||||||
|
<version>1.18.6</version>
|
||||||
|
<optional>true</optional>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.cloud</groupId>
|
||||||
|
<artifactId>spring-cloud-openfeign-core</artifactId>
|
||||||
|
<version>2.2.3.RELEASE</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<distributionManagement>
|
||||||
|
<repository>
|
||||||
|
<id>release</id>
|
||||||
|
<name>Nexus Release Repository</name>
|
||||||
|
<url>http://dev.wabestway.com/nexus/repository/maven-releases/</url>
|
||||||
|
</repository>
|
||||||
|
<snapshotRepository>
|
||||||
|
<!-- 需与server id一致 -->
|
||||||
|
<id>snapshot</id>
|
||||||
|
<name>Nexus Snapshot Repository</name>
|
||||||
|
<url>http://dev.wabestway.com/nexus/repository/maven-snapshots/</url>
|
||||||
|
</snapshotRepository>
|
||||||
|
</distributionManagement>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<phase>none</phase>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
</project>
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package com.wabestway.recall;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
System.out.println("Hello world!");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
package com.wabestway.recall.api.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class TraceUpDTO {
|
||||||
|
private String batchId;
|
||||||
|
private long batchTime;
|
||||||
|
List<TraceRecord> records;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Data
|
||||||
|
class TraceRecord {
|
||||||
|
/** 业务订单ID */
|
||||||
|
private String orderId;
|
||||||
|
/** 产品编码 */
|
||||||
|
private String supplierProductCode;
|
||||||
|
/** 产品名称 */
|
||||||
|
private String supplierProductName;
|
||||||
|
/** 保单号 */
|
||||||
|
private String policyNo;
|
||||||
|
/** 投保人名称 */
|
||||||
|
private String holderName;
|
||||||
|
/** 投保人手机号 */
|
||||||
|
private String holderPhone;
|
||||||
|
/** 保险公司名称 */
|
||||||
|
private String supplierName;
|
||||||
|
/** 保单起始日期 */
|
||||||
|
private String startDate;
|
||||||
|
/** 保单结束日期 */
|
||||||
|
private String endDate;
|
||||||
|
}
|
||||||
+19
@@ -0,0 +1,19 @@
|
|||||||
|
package com.wabestway.recall.api.fallback;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.wabestway.commons.http.ResObj;
|
||||||
|
import com.wabestway.recall.api.dto.TraceUpDTO;
|
||||||
|
import com.wabestway.recall.api.feign.TraceFeignClient;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
@Slf4j
|
||||||
|
public class TraceFeignClientFallback implements TraceFeignClient {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResObj batchTraceUp(TraceUpDTO traceUpDTO) {
|
||||||
|
log.error("回溯业务数据更新:{}", JSON.toJSONString(traceUpDTO));
|
||||||
|
return ResObj.fail("服务不可用");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package com.wabestway.recall.api.feign;
|
||||||
|
|
||||||
|
import com.wabestway.commons.http.ResObj;
|
||||||
|
import com.wabestway.recall.api.dto.TraceUpDTO;
|
||||||
|
import com.wabestway.recall.api.fallback.TraceFeignClientFallback;
|
||||||
|
import io.swagger.v3.oas.annotations.parameters.RequestBody;
|
||||||
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
|
||||||
|
@FeignClient(value = "afis-recall", fallback = TraceFeignClientFallback.class)
|
||||||
|
public interface TraceFeignClient {
|
||||||
|
@PostMapping("/api/traceUp")
|
||||||
|
ResObj batchTraceUp(@RequestBody TraceUpDTO traceUpDTO);
|
||||||
|
}
|
||||||
+3
@@ -1,8 +1,10 @@
|
|||||||
package com.wabestway.recall.trace.entity;
|
package com.wabestway.recall.trace.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
|
||||||
|
import com.wabestway.recall.trace.handler.ListTypeHandler;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -29,6 +31,7 @@ public class RecallRecordEntity {
|
|||||||
/** 页面说明 */
|
/** 页面说明 */
|
||||||
private String content;
|
private String content;
|
||||||
/** 记录事件 */
|
/** 记录事件 */
|
||||||
|
@TableField(typeHandler = ListTypeHandler.class)
|
||||||
private List<String> events;
|
private List<String> events;
|
||||||
/** 回溯记录跟踪ID */
|
/** 回溯记录跟踪ID */
|
||||||
private String traceId;
|
private String traceId;
|
||||||
|
|||||||
+42
@@ -0,0 +1,42 @@
|
|||||||
|
package com.wabestway.recall.trace.handler;
|
||||||
|
|
||||||
|
|
||||||
|
import com.wabestway.recall.trace.vo.RecallRecordVO;
|
||||||
|
import org.apache.ibatis.type.JdbcType;
|
||||||
|
import org.apache.ibatis.type.MappedJdbcTypes;
|
||||||
|
import org.apache.ibatis.type.MappedTypes;
|
||||||
|
import org.apache.ibatis.type.TypeHandler;
|
||||||
|
|
||||||
|
import java.sql.CallableStatement;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@MappedTypes(value = {RecallRecordVO.class})
|
||||||
|
@MappedJdbcTypes(value = {JdbcType.LONGNVARCHAR})
|
||||||
|
public class ListTypeHandler implements TypeHandler<List<String>> {
|
||||||
|
@Override
|
||||||
|
public void setParameter(PreparedStatement ps, int i, List<String> strings, JdbcType jdbcType) throws SQLException {
|
||||||
|
ps.setString(i, String.join(",", strings));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getResult(ResultSet rs, String s) throws SQLException {
|
||||||
|
String str = rs.getString(s);
|
||||||
|
return Arrays.asList(str.split(","));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getResult(ResultSet rs, int i) throws SQLException {
|
||||||
|
String str = rs.getString(i);
|
||||||
|
return Arrays.asList(str.split(","));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getResult(CallableStatement cs, int i) throws SQLException {
|
||||||
|
String str = cs.getString(i);
|
||||||
|
return Arrays.asList(str.split(","));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,6 +1,10 @@
|
|||||||
package com.wabestway.recall.trace.vo;
|
package com.wabestway.recall.trace.vo;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.annotation.JSONField;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
@@ -76,6 +80,7 @@ public class RecallOrderVO implements Serializable {
|
|||||||
private String createBy;
|
private String createBy;
|
||||||
/** 创建时间 */
|
/** 创建时间 */
|
||||||
@ApiModelProperty(value = "创建时间")
|
@ApiModelProperty(value = "创建时间")
|
||||||
|
@JsonProperty(value = "createAt")
|
||||||
private Long createTime;
|
private Long createTime;
|
||||||
/** 更新人 */
|
/** 更新人 */
|
||||||
@ApiModelProperty(value = "更新人")
|
@ApiModelProperty(value = "更新人")
|
||||||
@@ -84,4 +89,6 @@ public class RecallOrderVO implements Serializable {
|
|||||||
@ApiModelProperty(value = "更新时间")
|
@ApiModelProperty(value = "更新时间")
|
||||||
private Long updateTime;
|
private Long updateTime;
|
||||||
|
|
||||||
|
private List<String> events;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+13
-3
@@ -20,7 +20,8 @@
|
|||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||||
<mybatisplus.version>3.3.2</mybatisplus.version>
|
<mybatisplus.version>3.3.2</mybatisplus.version>
|
||||||
<alibaba.boot.druid>1.1.22</alibaba.boot.druid> </properties>
|
<alibaba.boot.druid>1.1.22</alibaba.boot.druid>
|
||||||
|
</properties>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
@@ -40,7 +41,16 @@
|
|||||||
</exclusion>
|
</exclusion>
|
||||||
</exclusions>
|
</exclusions>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>mysql</groupId>
|
||||||
|
<artifactId>mysql-connector-java</artifactId>
|
||||||
|
<scope>runtime</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba</groupId>
|
||||||
|
<artifactId>druid-spring-boot-starter</artifactId>
|
||||||
|
<version>${alibaba.boot.druid}</version>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.cloud</groupId>
|
<groupId>org.springframework.cloud</groupId>
|
||||||
<artifactId>spring-cloud-starter-openfeign</artifactId>
|
<artifactId>spring-cloud-starter-openfeign</artifactId>
|
||||||
@@ -74,7 +84,7 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-webflux</artifactId>
|
<artifactId>spring-boot-starter-web</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.projectlombok</groupId>
|
<groupId>org.projectlombok</groupId>
|
||||||
|
|||||||
+11
@@ -56,6 +56,17 @@ public class RecallOrderApiServiceImpl implements RecallOrderApiService {
|
|||||||
@Override
|
@Override
|
||||||
public ResObj<RecallOrderVO> getRecallOrderByOrderId(String orderId) {
|
public ResObj<RecallOrderVO> getRecallOrderByOrderId(String orderId) {
|
||||||
RecallOrderVO recallOrderVO = recallOrderService.queryRecallOrderById(orderId);
|
RecallOrderVO recallOrderVO = recallOrderService.queryRecallOrderById(orderId);
|
||||||
|
if (recallOrderVO != null) {
|
||||||
|
LambdaQueryWrapper<RecallRecordEntity> recordQuery = Wrappers.lambdaQuery();
|
||||||
|
recordQuery.eq(RecallRecordEntity::getTraceId, recallOrderVO.getTraceId());
|
||||||
|
recordQuery.orderByAsc(RecallRecordEntity::getCreateTime);
|
||||||
|
List<RecallRecordEntity> recordList = recallRecordService.getBaseMapper().selectList(recordQuery);
|
||||||
|
|
||||||
|
List<String> events = recordList.stream()
|
||||||
|
.flatMap(entity -> entity.getEvents().stream())
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
recallOrderVO.setEvents(events);
|
||||||
|
}
|
||||||
return ResObj.ok(recallOrderVO);
|
return ResObj.ok(recallOrderVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -38,7 +38,8 @@ public class RecallRecordApiServiceImpl implements RecallRecordApiService {
|
|||||||
.map(recallOrderService::queryRecallOrderByOrderId)
|
.map(recallOrderService::queryRecallOrderByOrderId)
|
||||||
.map(RecallOrderEntity::getTraceId)
|
.map(RecallOrderEntity::getTraceId)
|
||||||
.orElse(UUID.randomUUID().toString().replace("-", ""));
|
.orElse(UUID.randomUUID().toString().replace("-", ""));
|
||||||
|
log.info(traceId);
|
||||||
|
record.setTraceId(traceId);
|
||||||
boolean isLastEvent = record.isLast();
|
boolean isLastEvent = record.isLast();
|
||||||
|
|
||||||
RecallOrderEntity order = Optional.ofNullable(orderId)
|
RecallOrderEntity order = Optional.ofNullable(orderId)
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
# nacos
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
server:
|
||||||
|
port: 9235
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
|
||||||
|
#spring:
|
||||||
|
# jackson:
|
||||||
|
# date-format: yyyy-MM-dd HH:mm:ss
|
||||||
|
# time-zone: GMT+8
|
||||||
|
|
||||||
|
mybatis-plus:
|
||||||
|
#MyBaits 别名包扫描路径,通过该属性可以给包中的类注册别名
|
||||||
|
configuration:
|
||||||
|
# 打印控制台
|
||||||
|
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
||||||
|
|
||||||
|
spring:
|
||||||
|
freemarker:
|
||||||
|
settings:
|
||||||
|
classic_compatible: true
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
spring:
|
||||||
|
profiles: dev
|
||||||
|
application:
|
||||||
|
name: afis-recall
|
||||||
|
cloud:
|
||||||
|
nacos:
|
||||||
|
config:
|
||||||
|
file-extension: yaml
|
||||||
|
server-addr: 192.168.0.141:8848
|
||||||
|
namespace: ns-car-dev
|
||||||
|
discovery:
|
||||||
|
#Nacos服务注册中心地址
|
||||||
|
server-addr: 192.168.0.141:8848
|
||||||
|
namespace: ns-car-dev
|
||||||
|
|
||||||
|
main:
|
||||||
|
allow-bean-definition-overriding: true
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
spring:
|
||||||
|
profiles: native
|
||||||
|
application:
|
||||||
|
name: afis-recall
|
||||||
|
cloud:
|
||||||
|
nacos:
|
||||||
|
config:
|
||||||
|
file-extension: yaml
|
||||||
|
server-addr: 49.7.225.107:8848
|
||||||
|
namespace: native-test
|
||||||
|
discovery:
|
||||||
|
#Nacos服务注册中心地址
|
||||||
|
server-addr: 49.7.225.107:8848
|
||||||
|
namespace: native-test
|
||||||
|
main:
|
||||||
|
allow-bean-definition-overriding: true
|
||||||
|
|
||||||
|
datasource:
|
||||||
|
type: com.alibaba.druid.pool.DruidDataSource
|
||||||
|
url: jdbc:mysql://123.56.82.16:3306/afis-agency?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
|
||||||
|
username: rocar
|
||||||
|
password: rocar
|
||||||
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
|
platform: mysql
|
||||||
|
druid:
|
||||||
|
initial-size: 2
|
||||||
|
max-active: 100
|
||||||
|
time-between-eviction-runs-millis: 60000
|
||||||
|
min-evictable-idle-time-millis: 300000
|
||||||
|
validation-query: SELECT 1 FROM DUAL
|
||||||
|
test-while-idle: true
|
||||||
|
test-on-borrow: false
|
||||||
|
test-on-return: false
|
||||||
|
pool-prepared-statements: true
|
||||||
|
max-pool-prepared-statement-per-connection-size: 5
|
||||||
|
filter:
|
||||||
|
stat:
|
||||||
|
log-slow-sql: true
|
||||||
|
slow-sql-millis: 2000
|
||||||
|
enabled: true
|
||||||
|
config:
|
||||||
|
enabled: true
|
||||||
|
wall:
|
||||||
|
enabled: true
|
||||||
|
encoding:
|
||||||
|
enabled: true
|
||||||
|
stat-view-servlet:
|
||||||
|
enabled: true
|
||||||
|
url-pattern: /druid/*
|
||||||
|
login-username: admin
|
||||||
|
login-password: admin
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
|
||||||
|
spring:
|
||||||
|
profiles: prod
|
||||||
|
application:
|
||||||
|
name: afis-recall
|
||||||
|
cloud:
|
||||||
|
nacos:
|
||||||
|
config:
|
||||||
|
file-extension: yaml
|
||||||
|
server-addr: 192.168.208.47:18848,192.168.208.48:18848
|
||||||
|
namespace: cs-prd
|
||||||
|
discovery:
|
||||||
|
#Nacos服务注册中心地址
|
||||||
|
server-addr: 192.168.208.47:18848,192.168.208.48:18848
|
||||||
|
namespace: cs-prd
|
||||||
|
main:
|
||||||
|
allow-bean-definition-overriding: true
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
spring:
|
||||||
|
profiles: uat
|
||||||
|
application:
|
||||||
|
name: afis-recall
|
||||||
|
cloud:
|
||||||
|
nacos:
|
||||||
|
config:
|
||||||
|
file-extension: yaml
|
||||||
|
server-addr: 192.168.220.31:8848
|
||||||
|
namespace: tfs-cs-uat
|
||||||
|
discovery:
|
||||||
|
#Nacos服务注册中心地址
|
||||||
|
server-addr: 192.168.220.31:8848
|
||||||
|
namespace: tfs-cs-uat
|
||||||
|
main:
|
||||||
|
allow-bean-definition-overriding: true
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
spring:
|
||||||
|
profiles:
|
||||||
|
active: native
|
||||||
@@ -0,0 +1,135 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<configuration debug="false">
|
||||||
|
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
|
||||||
|
<springProperty scope="context" name="LOG_HOME" source="application.log.home" defaultValue="/home/log"/>
|
||||||
|
<springProperty scope="context" name="SERVICE_NAME" source="spring.application.name"/>
|
||||||
|
<!-- 控制台输出 -->
|
||||||
|
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||||
|
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||||
|
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
|
||||||
|
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{trace_id}] %-5level %logger{36} - %msg%n</pattern>
|
||||||
|
</encoder>
|
||||||
|
</appender>
|
||||||
|
<!-- 按照每天生成日志文件 -->
|
||||||
|
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||||
|
<!--日志文件输出的文件名-->
|
||||||
|
<FileNamePattern>${LOG_HOME}/${SERVICE_NAME}/${SERVICE_NAME}.log.%d{yyyy-MM-dd}.log</FileNamePattern>
|
||||||
|
<!--日志文件保留天数-->
|
||||||
|
<MaxHistory>181</MaxHistory>
|
||||||
|
</rollingPolicy>
|
||||||
|
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||||
|
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
|
||||||
|
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} ${PID} %X{trace_id} [%thread] %-5level %logger{50} - %msg%n</pattern>
|
||||||
|
</encoder>
|
||||||
|
<!--日志文件最大的大小-->
|
||||||
|
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
|
||||||
|
<MaxFileSize>10MB</MaxFileSize>
|
||||||
|
</triggeringPolicy>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<!-- 2.2 level为 INFO 日志,时间滚动输出 -->
|
||||||
|
<appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||||
|
<!-- 正在记录的日志文档的路径及文档名 -->
|
||||||
|
<file>${LOG_HOME}/${SERVICE_NAME}/${SERVICE_NAME}.log</file>
|
||||||
|
<!--日志文档输出格式-->
|
||||||
|
<encoder>
|
||||||
|
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} ${PID} %X{trace_id} [%thread] %-5level %logger{50} - %msg%n</pattern>
|
||||||
|
<charset>UTF-8</charset>
|
||||||
|
</encoder>
|
||||||
|
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
|
||||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||||
|
<!-- 每天日志归档路径以及格式 -->
|
||||||
|
<fileNamePattern>${LOG_HOME}/${SERVICE_NAME}/${SERVICE_NAME}-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
|
||||||
|
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||||
|
<maxFileSize>100MB</maxFileSize>
|
||||||
|
</timeBasedFileNamingAndTriggeringPolicy>
|
||||||
|
<!--日志文档保留天数-->
|
||||||
|
<maxHistory>181</maxHistory>
|
||||||
|
</rollingPolicy>
|
||||||
|
<!-- 此日志文档只记录info级别的 -->
|
||||||
|
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||||
|
<level>info</level>
|
||||||
|
<onMatch>ACCEPT</onMatch>
|
||||||
|
<onMismatch>DENY</onMismatch>
|
||||||
|
</filter>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<!-- 2.3 level为 WARN 日志,时间滚动输出 -->
|
||||||
|
<appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||||
|
<!-- 正在记录的日志文档的路径及文档名 -->
|
||||||
|
<file>${LOG_HOME}/${SERVICE_NAME}/${SERVICE_NAME}-warn.log</file>
|
||||||
|
<!--日志文档输出格式-->
|
||||||
|
<encoder>
|
||||||
|
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} ${PID} %X{trace_id} [%thread] %-5level %logger{50} - %msg%n</pattern>
|
||||||
|
<charset>UTF-8</charset> <!-- 此处设置字符集 -->
|
||||||
|
</encoder>
|
||||||
|
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
|
||||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||||
|
<fileNamePattern>${LOG_HOME}/${SERVICE_NAME}/${SERVICE_NAME}-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
|
||||||
|
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||||
|
<maxFileSize>100MB</maxFileSize>
|
||||||
|
</timeBasedFileNamingAndTriggeringPolicy>
|
||||||
|
<!--日志文档保留天数-->
|
||||||
|
<maxHistory>181</maxHistory>
|
||||||
|
</rollingPolicy>
|
||||||
|
<!-- 此日志文档只记录warn级别的 -->
|
||||||
|
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||||
|
<level>warn</level>
|
||||||
|
<onMatch>ACCEPT</onMatch>
|
||||||
|
<onMismatch>DENY</onMismatch>
|
||||||
|
</filter>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<!-- 2.4 level为 ERROR 日志,时间滚动输出 -->
|
||||||
|
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||||
|
<!-- 正在记录的日志文档的路径及文档名 -->
|
||||||
|
<file>${LOG_HOME}/${SERVICE_NAME}/${SERVICE_NAME}-error.log</file>
|
||||||
|
<!--日志文档输出格式-->
|
||||||
|
<encoder>
|
||||||
|
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} ${PID} %X{trace_id} [%thread] %-5level %logger{50} - %msg%n</pattern>
|
||||||
|
<charset>UTF-8</charset> <!-- 此处设置字符集 -->
|
||||||
|
</encoder>
|
||||||
|
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
|
||||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||||
|
<fileNamePattern>${LOG_HOME}/${SERVICE_NAME}/${SERVICE_NAME}-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
|
||||||
|
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||||
|
<maxFileSize>100MB</maxFileSize>
|
||||||
|
</timeBasedFileNamingAndTriggeringPolicy>
|
||||||
|
<!--日志文档保留天数-->
|
||||||
|
<maxHistory>181</maxHistory>
|
||||||
|
</rollingPolicy>
|
||||||
|
<!-- 此日志文档只记录ERROR级别的 -->
|
||||||
|
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||||
|
<level>ERROR</level>
|
||||||
|
<onMatch>ACCEPT</onMatch>
|
||||||
|
<onMismatch>DENY</onMismatch>
|
||||||
|
</filter>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
|
||||||
|
<property name="email_subject" value="【Error】: %logger - %msg"/>
|
||||||
|
|
||||||
|
<logger name="com.wabestway" additivity="false">
|
||||||
|
<level value="debug"/>
|
||||||
|
<appender-ref ref="FILE"/>
|
||||||
|
<appender-ref ref="STDOUT"/>
|
||||||
|
</logger>
|
||||||
|
|
||||||
|
<logger name="com.alibaba" additivity="false">
|
||||||
|
<level value="ERROR"/>
|
||||||
|
<appender-ref ref="FILE"/>
|
||||||
|
<appender-ref ref="STDOUT"/>
|
||||||
|
</logger>
|
||||||
|
|
||||||
|
<!-- 在程序的开发测试阶段,可以调整level的级别,常用级别优先级为: -->
|
||||||
|
<!-- TRACE < DEBUG < INFO < WARN < ERROR -->
|
||||||
|
<!-- 日志输出级别 -->
|
||||||
|
<root level="INFO">
|
||||||
|
<appender-ref ref="STDOUT"/>
|
||||||
|
<appender-ref ref="INFO_FILE"/>
|
||||||
|
<appender-ref ref="FILE"/>
|
||||||
|
<appender-ref ref="WARN_FILE"/>
|
||||||
|
<appender-ref ref="ERROR_FILE"/>
|
||||||
|
</root>
|
||||||
|
</configuration>
|
||||||
Reference in New Issue
Block a user