修改部分日志配置
This commit is contained in:
parent
50ce682051
commit
e21933ca3f
@ -1,6 +1,6 @@
|
||||
package com.qiuguo.iot.base.constans;
|
||||
|
||||
public class Log4Constans {
|
||||
public static String PRINT_LOG_ID = "tid";
|
||||
public static String PRINT_LOG_ID = "traceId";
|
||||
public static String CUSTOMER_IP = "customerIp";
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.qiuguo.iot.base.utils;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.UUID;
|
||||
|
||||
public class StringUtils extends cn.hutool.core.util.StrUtil{
|
||||
private static final String chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
@ -21,4 +22,9 @@ public class StringUtils extends cn.hutool.core.util.StrUtil{
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public static String getUUID(){
|
||||
UUID uuid = UUID.randomUUID();
|
||||
return uuid.toString().replace("-", "");
|
||||
}
|
||||
}
|
||||
|
||||
@ -75,12 +75,12 @@
|
||||
<dependency>
|
||||
<groupId>org.apache.skywalking</groupId>
|
||||
<artifactId>apm-toolkit-trace</artifactId>
|
||||
<version>8.7.0</version>
|
||||
<version>8.4.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.skywalking</groupId>
|
||||
<artifactId>apm-toolkit-logback-1.x</artifactId>
|
||||
<version>8.7.0</version>
|
||||
<version>8.4.0</version>
|
||||
</dependency>
|
||||
<!--skywalking trace end-->
|
||||
|
||||
|
||||
@ -3,11 +3,13 @@ package com.qiuguo.iot.gateway.filter;
|
||||
import com.qiuguo.iot.base.constans.Log4Constans;
|
||||
import com.qiuguo.iot.base.constans.RedisConstans;
|
||||
import com.qiuguo.iot.base.constans.UserAuthContains;
|
||||
import com.qiuguo.iot.base.utils.StringUtils;
|
||||
import com.qiuguo.iot.gateway.config.properties.XssProperties;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.time.Duration;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.skywalking.apm.toolkit.trace.Trace;
|
||||
import org.apache.skywalking.apm.toolkit.trace.TraceContext;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.cloud.gateway.filter.GatewayFilterChain;
|
||||
@ -40,13 +42,15 @@ public class AuthFilter implements GlobalFilter, Ordered {
|
||||
|
||||
@Autowired
|
||||
private XssProperties xssProperties;
|
||||
|
||||
|
||||
@Override
|
||||
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
|
||||
|
||||
ServerHttpRequest request = exchange.getRequest();
|
||||
String url = request.getPath().toString();
|
||||
String customerIp = request.getRemoteAddress().getAddress().getHostAddress();
|
||||
String tracId = TraceContext.traceId();
|
||||
String tracId = StringUtils.getUUID();
|
||||
ServerWebExchange.Builder ex = exchange.mutate();
|
||||
ex.request(getRequest(exchange, customerIp, tracId));
|
||||
if (xssProperties.getExcludeUrls().contains(url)) {
|
||||
|
||||
@ -69,6 +69,7 @@ security:
|
||||
exclude-urls:
|
||||
- /iot-user/user/login/pwd
|
||||
- /iot-user/music/search
|
||||
- /iot-user/device/init
|
||||
- /iot-websocket/push/message
|
||||
- /iot-websocket/websocket/box
|
||||
- /iot-websocket/websocket/customer
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
server:
|
||||
port: 8080
|
||||
port: 8081
|
||||
spring:
|
||||
application:
|
||||
name: qiuguo-iot-gateway
|
||||
|
||||
BIN
iot-modules/.DS_Store
vendored
BIN
iot-modules/.DS_Store
vendored
Binary file not shown.
@ -71,15 +71,10 @@
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.skywalking</groupId>
|
||||
<artifactId>apm-toolkit-trace</artifactId>
|
||||
<version>8.7.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.skywalking</groupId>
|
||||
<artifactId>apm-toolkit-logback-1.x</artifactId>
|
||||
<version>8.7.0</version>
|
||||
<version>8.4.0</version>
|
||||
</dependency>
|
||||
<!--skywalking trace end-->
|
||||
|
||||
|
||||
@ -1,58 +0,0 @@
|
||||
package com.qiuguo.iot.user.api.filter;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.data.redis.core.ReactiveStringRedisTemplate;
|
||||
import org.springframework.web.server.ServerWebExchange;
|
||||
import org.springframework.web.server.WebFilter;
|
||||
import org.springframework.web.server.WebFilterChain;
|
||||
// import org.springframework.web.servlet.HandlerMapping;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
/**
|
||||
* XXX
|
||||
*
|
||||
* @author weiyachao
|
||||
* @since 2023/9/20 16:06
|
||||
*/
|
||||
@Configuration
|
||||
@Slf4j
|
||||
@Order(-1)
|
||||
public class AuthFilter implements WebFilter {
|
||||
|
||||
// @Autowired
|
||||
private ReactiveStringRedisTemplate reactiveRedisTemplate;
|
||||
|
||||
@Override
|
||||
public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
|
||||
// HandlerMethod handlerMethod = exchange.getAttribute(HandlerMapping.BEST_MATCHING_HANDLER_ATTRIBUTE);
|
||||
Object attribute = exchange.getAttribute("org.springframework.web.server.ServerWebExchange.LOG_ID");
|
||||
System.out.println("attribute = " + attribute);
|
||||
// if (handlerMethod != null && handlerMethod.getMethod().isAnnotationPresent(Auth.class)) {
|
||||
// // 如果请求方法上有 Auth 注解,执行登录验证逻辑
|
||||
// String api_token = exchange.getRequest().getHeaders().getFirst(UserAuthContains.API_TOKEN);
|
||||
// String api_type = exchange.getRequest().getHeaders().getFirst(UserAuthContains.API_TYPE);
|
||||
// if (ObjectUtils.isEmpty(api_token) || ObjectUtils.isEmpty(api_type)) {
|
||||
// return Mono.error(new RuntimeException("未登录"));
|
||||
// }
|
||||
// String key = RedisConstans.IOT_TOKEN.concat(api_token);
|
||||
// return reactiveRedisTemplate.getExpire(key).map(Duration::getSeconds).flatMap(ttl -> {
|
||||
// if (ttl == -1) {
|
||||
// // 用户没登陆
|
||||
// return Mono.error(new RuntimeException("未登录"));
|
||||
// } else if (ttl <= 3600) {
|
||||
// // token 将要失效
|
||||
// return reactiveRedisTemplate.expire(key, Duration.ofDays(7))
|
||||
// .then(chain.filter(exchange));
|
||||
// } else {
|
||||
// // 正常登录
|
||||
// return chain.filter(exchange);
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
|
||||
return chain.filter(exchange);
|
||||
}
|
||||
|
||||
}
|
||||
@ -5,7 +5,7 @@
|
||||
|
||||
<timestamp key="startTime" datePattern="yyyyMMdd" timeReference="contextBirth"/>
|
||||
<springProperty scope="context" name="APP_NAME" source="spring.application.name"/>
|
||||
<property name="LOG_PATH" value="${user.home}"/>
|
||||
<property name="LOG_PATH" value="logs"/>
|
||||
<property name="LOG_FILE" value="${LOG_PATH}/application.log"/>
|
||||
<property name="PATTERN"
|
||||
value="%d{yyyy-MM-dd HH:mm:ss.SSS}|${APP_NAME}|%clr(%5p)|%X{tid}|${PID:- }|%t|%-40.40logger{39}|%m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>
|
||||
@ -48,7 +48,7 @@
|
||||
<appender name="SKYWALKING" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
|
||||
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
|
||||
<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout">
|
||||
<pattern>${SKY_PATTERN}</pattern>
|
||||
<Pattern>${SKY_PATTERN}</Pattern>
|
||||
</layout>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user