去掉Loki

This commit is contained in:
ludj
2023-02-24 17:34:43 +08:00
parent 9ff71aa996
commit 7366adc13c
10 changed files with 214 additions and 295 deletions

View File

@@ -11,8 +11,7 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.modules.logging.annotation.Log;
import org.nl.wms.ext.acs.service.AcsToWmsService;
import org.nl.wms.log.LokiLog;
import org.nl.wms.log.LokiLogType;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
@@ -38,7 +37,7 @@ public class AcsToWmsController {
@PostMapping("/status")
@Log("ACS给WMS反馈任务状态")
@ApiOperation("ACS给WMS反馈任务状态")
@LokiLog(type = LokiLogType.ACS_TO_LMS)
@SaIgnore
public ResponseEntity<Object> receiveTaskStatusAcs(@RequestBody String string) {
return new ResponseEntity<>(acsToWmsService.receiveTaskStatusAcs(string), HttpStatus.OK);
}
@@ -46,7 +45,7 @@ public class AcsToWmsController {
@PostMapping("/orderFinish")
@Log("ACS给WMS下发工单完成状态")
@ApiOperation("ACS给WMS下发工单完成状态")
@LokiLog(type = LokiLogType.ACS_TO_LMS)
@SaIgnore
public ResponseEntity<Object> orderFinish(@RequestBody String string) {
return new ResponseEntity<>(acsToWmsService.orderFinish(string), HttpStatus.OK);
}
@@ -54,9 +53,7 @@ public class AcsToWmsController {
@PostMapping("/apply")
@Log("申请任务")
@ApiOperation("申请任务")
@LokiLog(type = LokiLogType.ACS_TO_LMS)
// @SaCheckPermission("menu:list")
// @SaIgnore
@SaIgnore
public ResponseEntity<Object> apply(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(acsToWmsService.apply(whereJson), HttpStatus.OK);
}
@@ -64,7 +61,7 @@ public class AcsToWmsController {
@PostMapping("/manipulatorApply")
@Log("ACS机械手给WMS发送任务")
@ApiOperation("ACS机械手给WMS发送任务")
@LokiLog(type = LokiLogType.ACS_TO_LMS)
@SaIgnore
public ResponseEntity<Object> manipulatorApply(@RequestBody JSONObject whereJson) {
acsToWmsService.manipulatorApply(whereJson);
JSONObject result = new JSONObject();
@@ -76,7 +73,7 @@ public class AcsToWmsController {
@PostMapping("/reverseGroup")
@Log("入窑口反向组盘")
@ApiOperation("入窑口反向组盘")
@LokiLog(type = LokiLogType.ACS_TO_LMS)
@SaIgnore
public ResponseEntity<Object> reverseGroup(@RequestBody JSONObject whereJson) {
acsToWmsService.reverseGroup(whereJson);
JSONObject result = new JSONObject();
@@ -85,11 +82,11 @@ public class AcsToWmsController {
return new ResponseEntity<>(result, HttpStatus.OK);
}
@SaIgnore
@PostMapping("/ispackage")
@Log("ACS给WMS请求是否优先包装")
@ApiOperation("ACS给WMS请求是否优先包装")
@LokiLog(type = LokiLogType.ACS_TO_LMS)
public ResponseEntity<Object> ispackage(@RequestBody Map whereJson) {
return new ResponseEntity<>(acsToWmsService.ispackage(whereJson), HttpStatus.OK);
}
@@ -97,7 +94,7 @@ public class AcsToWmsController {
@PostMapping("/getEmptyVehicle_code")
@Log("获取空木托盘号")
@ApiOperation("获取空木托盘号")
@LokiLog(type = LokiLogType.ACS_TO_LMS)
@SaIgnore
public ResponseEntity<Object> getEmptyVehicle_code(@RequestBody Map whereJson) {
return new ResponseEntity<>(acsToWmsService.getEmptyVehicle_code(whereJson), HttpStatus.OK);
}
@@ -105,7 +102,7 @@ public class AcsToWmsController {
@PostMapping("/sureProduceTask")
@Log("排产单确认")
@ApiOperation("排产单确认")
@LokiLog(type = LokiLogType.ACS_TO_LMS)
@SaIgnore
public ResponseEntity<Object> sureProduceTask(@RequestBody Map whereJson) {
return new ResponseEntity<>(acsToWmsService.sureWorkOrder(whereJson), HttpStatus.OK);
}
@@ -113,7 +110,7 @@ public class AcsToWmsController {
@PostMapping("/getDevicecodeByVehicletype")
@Log("根据木托盘类型获取对应所在的点位")
@ApiOperation("根据木托盘类型获取对应的点位")
@LokiLog(type = LokiLogType.ACS_TO_LMS)
@SaIgnore
public ResponseEntity<Object> getDevicecodeByVehicle_ype(@RequestBody Map whereJson) {
return new ResponseEntity<>(acsToWmsService.getDeviceCodeByVehicleType(whereJson), HttpStatus.OK);
}
@@ -121,7 +118,7 @@ public class AcsToWmsController {
@PostMapping("/getVehicleInfoBycode")
@Log("根据设备编码编码获取托盘信息")
@ApiOperation("根据设备编码编码获取托盘信息")
@LokiLog(type = LokiLogType.ACS_TO_LMS)
@SaIgnore
public ResponseEntity<Object> getVehicleInfoByDevice_code(@RequestBody Map whereJson) {
return new ResponseEntity<>(acsToWmsService.getVehicleInfoByDeviceCode(whereJson), HttpStatus.OK);
}
@@ -130,7 +127,7 @@ public class AcsToWmsController {
@Log("二次申请任务")
@ApiOperation("二次申请任务")
@SaCheckPermission("menu:list")
@LokiLog(type = LokiLogType.ACS_TO_LMS)
@SaIgnore
public ResponseEntity<Object> againApply(@RequestBody String task_id) {
return new ResponseEntity<>(acsToWmsService.againApply(task_id), HttpStatus.OK);
}

View File

@@ -49,7 +49,7 @@ public interface AcsToWmsService {
* @param whereJson 条件
* @return JSONObject
*/
JSONObject apply(JSONObject whereJson);
JSONObject apply(JSONObject whereJson) ;
/**
* ACS机械手给WMS发送任务

View File

@@ -10,17 +10,14 @@ import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.common.utils.SecurityUtils;
import org.nl.modules.system.util.CodeUtil;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.modules.wql.util.SpringContextHolder;
import org.nl.wms.basedata.service.dto.VehicleDto;
import org.nl.wms.ext.acs.service.AcsToWmsService;
import org.nl.wms.log.LokiLog;
import org.nl.wms.log.LokiLogType;
import org.nl.wms.sch.manage.*;
import org.nl.wms.sch.service.TaskService;
import org.nl.wms.sch.tasks.PointUpdateUtil;
import org.nl.wms.sch.tasks.callEmpty.FjCallEmptyVehicleTask;
import org.nl.wms.sch.tasks.callEmpty.HnCallEmptyVehicleTask;
import org.nl.wms.sch.tasks.callEmpty.YzjCallEmptyVehicleTask;
@@ -29,7 +26,12 @@ import org.nl.wms.sch.tasks.callMaterial.YzjCallMaterialTask;
import org.nl.wms.sch.tasks.sendEmpty.DpSendEmpVehicleTask;
import org.nl.wms.sch.tasks.sendEmpty.FjSendEmpVehicleTask;
import org.nl.wms.sch.tasks.sendEmpty.YzjSendEmpVehicleTask;
import org.nl.wms.sch.tasks.sendMaterial.*;
import org.nl.wms.sch.tasks.sendMaterial.FjSendMaterialTask;
import org.nl.wms.sch.tasks.sendMaterial.HnSendMaterialTask;
import org.nl.wms.sch.tasks.sendMaterial.SzSendMaterialTask;
import org.nl.wms.sch.tasks.sendMaterial.YzjSendMaterialTask;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -37,6 +39,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Map;
import java.util.concurrent.TimeUnit;
@Service
@RequiredArgsConstructor
@@ -44,6 +47,8 @@ import java.util.Map;
public class AcsToWmsServiceImpl implements AcsToWmsService {
private final TaskService taskService;
private final RedissonClient redissonClient;
/**
* task_id任务标识
* task_code任务编码
@@ -52,7 +57,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
* @param string 条件
* @returnzss
*/
@LokiLog(type = LokiLogType.ACS_TO_LMS)
@Override
public Map<String, Object> receiveTaskStatusAcs(String string) {
JSONArray array = JSONArray.parseArray(string);
@@ -121,7 +126,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
return result;
}
@LokiLog(type = LokiLogType.ACS_TO_LMS)
@Override
public String againApply(String task_id) {
log.info("输入参数:" + task_id);
@@ -145,13 +150,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
return point_code;
}
@LokiLog(type = LokiLogType.ACS_TO_LMS)
@Override
public Map<String, Object> receivePointStatusFromAcs(Map<String, String> jsonObject) {
return null;
}
@LokiLog(type = LokiLogType.ACS_TO_LMS)
@Override
public Map<String, Object> orderFinish(String string) {
JSONObject orderJson = JSONObject.parseObject(string);
@@ -174,7 +179,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
return result;
}
@LokiLog(type = LokiLogType.ACS_TO_LMS)
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject apply(JSONObject whereJson) {
@@ -185,141 +190,156 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
String weight = whereJson.getString("weight");
String qty = whereJson.getString("qty");
if (ObjectUtil.isEmpty(type)) throw new BadRequestException("类型不能为空");
if (ObjectUtil.isEmpty(point_code)) throw new BadRequestException("点位不能为空");
RLock lock = redissonClient.getLock("acs_to_wms:" + type);
boolean tryLock = false;
try {
tryLock = lock.tryLock(5, TimeUnit.SECONDS);
if (tryLock) {
if (ObjectUtil.isEmpty(type)) throw new BadRequestException("类型不能为空");
if (ObjectUtil.isEmpty(point_code)) throw new BadRequestException("点位不能为空");
/**
* 类型映射
* 1: 送料入库
* 2: 叫料出库
* 3: 送空托盘
* 4: 叫空托盘
*/
String regionId = WQLObject
.getWQLObject("sch_base_point")
.query("point_code = '" + point_code + "'")
.uniqueResult(0)
.getString("region_id");
/**
* 类型映射
* 1: 送料入库
* 2: 叫料出库
* 3: 送空托盘
* 4: 叫空托盘
*/
String regionId = WQLObject
.getWQLObject("sch_base_point")
.query("point_code = '" + point_code + "'")
.uniqueResult(0)
.getString("region_id");
RegionEnum regionEnum = RegionEnum.get(regionId);
RegionEnum regionEnum = RegionEnum.get(regionId);
// 参数统一获取
JSONObject param = new JSONObject();
param.put("vehicle_code", vehicle_code);
param.put("is_full", is_full);
param.put("weight", weight);
param.put("qty", qty);
// 参数统一获取
JSONObject param = new JSONObject();
param.put("vehicle_code", vehicle_code);
param.put("is_full", is_full);
param.put("weight", weight);
param.put("qty", qty);
/*
* 根据type判断是什么业务类型
* 1.混碾机送料入库-困料货架
* 2.混碾机呼叫空托盘
* 3.压制机上料位叫料出库
* 4.压制机上料位送空盅
* 5.压制机满料入库
* 6.压制机呼叫空钢托盘
* 8.烧制送料入库
* 9.分拣叫料出库
* 10.分拣送空钢托盘
* 11.分拣送料入库
* 12.分拣呼叫木托盘
* 13.叠盘区送空钢托盘
*/
switch (type) {
case "1":
switch (regionEnum) {
case HNQ:
// 1.混碾机送料入库:混碾机物料送到困料货架
// 创建任务
param.put("point_code1", point_code); // 起点
SpringContextHolder.getBean(HnSendMaterialTask.class).createTask(param);
/*
* 根据type判断是什么业务类型
* 1.混碾机送料入库-困料货架
* 2.混碾机呼叫空托盘
* 3.压制机上料位叫料出库
* 4.压制机上料位送空盅
* 5.压制机满料入库
* 6.压制机呼叫空钢托盘
* 8.烧制送料入库
* 9.分拣叫料出库
* 10.分拣送空钢托盘
* 11.分拣送料入库
* 12.分拣呼叫木托盘
* 13.叠盘区送空钢托盘
*/
switch (type) {
case "1":
switch (regionEnum) {
case HNQ:
// 1.混碾机送料入库:混碾机物料送到困料货架
// 创建任务
param.put("point_code1", point_code); // 起点
SpringContextHolder.getBean(HnSendMaterialTask.class).createTask(param);
break;
case YZQ:
// 5.压制机满料入库
param.put("point_code1", point_code); // 起点
param.put("group_id", whereJson.getString("group_id")); // 组盘标识 - 机械手过来的
// 创建任务
SpringContextHolder.getBean(YzjSendMaterialTask.class).createTask(param);
break;
case YQ:
// 8.烧制送料入库
param.put("point_code1", point_code); // 起点
SpringContextHolder.getBean(SzSendMaterialTask.class).createTask(param);
break;
case ZDCDX:
// 11.分拣送料入库
param.put("point_code1", point_code); // 起点
param.put("group_id", whereJson.getString("group_id")); // 组盘标识 - 机械手过来的
SpringContextHolder.getBean(FjSendMaterialTask.class).createTask(param);
break;
default:
throw new BadRequestException("ACS任务类型错误");
}
break;
case YZQ:
// 5.压制机满料入库
param.put("point_code1", point_code); // 起点
param.put("group_id", whereJson.getString("group_id")); // 组盘标识 - 机械手过来的
// 创建任务
SpringContextHolder.getBean(YzjSendMaterialTask.class).createTask(param);
case "2":
switch (regionEnum) {
case YZQ:
// 3.压制机叫料任务
param.put("point_code2", point_code); // 终点
// 创建任务
SpringContextHolder.getBean(YzjCallMaterialTask.class).createTask(param);
break;
case ZDCDX:
// 9.分拣叫料出库
param.put("point_code2", point_code); // 终点
SpringContextHolder.getBean(FjCallMaterialTask.class).createTask(param);
break;
default:
throw new BadRequestException("ACS任务类型错误");
}
break;
case YQ:
// 8.烧制送料入库
param.put("point_code1", point_code); // 起点
SpringContextHolder.getBean(SzSendMaterialTask.class).createTask(param);
case "3":
switch (regionEnum) {
case YZQ:
// 4.压制机送空盅
param.put("point_code1", point_code); // 起点
// 创建任务
SpringContextHolder.getBean(YzjSendEmpVehicleTask.class).createTask(param);
break;
case ZDCDX:
// 10.分拣送钢托盘
param.put("point_code1", point_code); // 起点
SpringContextHolder.getBean(FjSendEmpVehicleTask.class).createTask(param);
break;
case KGTDPQ:
// 13.叠盘区送空钢托盘
param.put("point_code1", point_code); // 起点
SpringContextHolder.getBean(DpSendEmpVehicleTask.class).createTask(param);
break;
default:
throw new BadRequestException("ACS任务类型错误");
}
break;
case ZDCDX:
// 11.分拣送料入库
param.put("point_code1", point_code); // 起点
param.put("group_id", whereJson.getString("group_id")); // 组盘标识 - 机械手过来的
SpringContextHolder.getBean(FjSendMaterialTask.class).createTask(param);
case "4":
switch (regionEnum) {
case HNQ:
// 2.混碾机呼叫空托盘
param.put("point_code2", point_code); // 终点
// 创建任务
SpringContextHolder.getBean(HnCallEmptyVehicleTask.class).createTask(param);
break;
case YZQ:
// 6.压制机呼叫空托盘
param.put("point_code2", point_code); // 终点
// 创建任务
SpringContextHolder.getBean(YzjCallEmptyVehicleTask.class).createTask(param);
break;
case ZDCDX:
// 12.分拣呼叫木托盘
param.put("point_code2", point_code); // 起点
SpringContextHolder.getBean(FjCallEmptyVehicleTask.class).createTask(param);
break;
default:
throw new BadRequestException("ACS任务类型错误");
}
break;
default:
throw new BadRequestException("ACS任务类型错误");
}
break;
case "2":
switch (regionEnum) {
case YZQ:
// 3.压制机叫料任务
param.put("point_code2", point_code); // 终点
// 创建任务
SpringContextHolder.getBean(YzjCallMaterialTask.class).createTask(param);
break;
case ZDCDX:
// 9.分拣叫料出库
param.put("point_code2", point_code); // 终点
SpringContextHolder.getBean(FjCallMaterialTask.class).createTask(param);
break;
default:
throw new BadRequestException("ACS任务类型错误");
}
break;
case "3":
switch (regionEnum) {
case YZQ:
// 4.压制机送空盅
param.put("point_code1", point_code); // 起点
// 创建任务
SpringContextHolder.getBean(YzjSendEmpVehicleTask.class).createTask(param);
break;
case ZDCDX:
// 10.分拣送钢托盘
param.put("point_code1", point_code); // 起点
SpringContextHolder.getBean(FjSendEmpVehicleTask.class).createTask(param);
break;
case KGTDPQ:
// 13.叠盘区送空钢托盘
param.put("point_code1", point_code); // 起点
SpringContextHolder.getBean(DpSendEmpVehicleTask.class).createTask(param);
break;
default:
throw new BadRequestException("ACS任务类型错误");
}
break;
case "4":
switch (regionEnum) {
case HNQ:
// 2.混碾机呼叫空托盘
param.put("point_code2", point_code); // 终点
// 创建任务
SpringContextHolder.getBean(HnCallEmptyVehicleTask.class).createTask(param);
break;
case YZQ:
// 6.压制机呼叫空托盘
param.put("point_code2", point_code); // 终点
// 创建任务
SpringContextHolder.getBean(YzjCallEmptyVehicleTask.class).createTask(param);
break;
case ZDCDX:
// 12.分拣呼叫木托盘
param.put("point_code2", point_code); // 起点
SpringContextHolder.getBean(FjCallEmptyVehicleTask.class).createTask(param);
break;
default:
throw new BadRequestException("ACS任务类型错误");
}
break;
default:
throw new BadRequestException("ACS任务类型错误");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (tryLock) {
lock.unlock();
}
}
return null;
}
@@ -641,7 +661,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
WQLObject workOrderTab = WQLObject.getWQLObject("PDM_BD_WorkOrder");
String point_code = (String) jsonObject.get("device_code");
JSONObject point = pointTab.query("point_code = '" + point_code + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(point)) throw new BadRequestException("未找到点位编码为'"+ point_code +"'的点位信息");
if (ObjectUtil.isEmpty(point)) throw new BadRequestException("未找到点位编码为'" + point_code + "'的点位信息");
String group_id = point.getString("group_id");
JSONObject vehicleObj2 = groupTab.query("group_id = '" + group_id + "' AND is_delete='0'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(vehicleObj2)) vehicleObj = vehicleObj2;

View File

@@ -1,15 +0,0 @@
package org.nl.wms.log;
import java.lang.annotation.*;
/**
* @author: lyd
* @description: 自定义日志注解,用作LOKI日志分类
* @Date: 2022/10/10
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.METHOD})
@Documented
public @interface LokiLog {
LokiLogType type() default LokiLogType.DEFAULT;
}

View File

@@ -1,63 +0,0 @@
package org.nl.wms.log;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.Signature;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.slf4j.MDC;
import org.springframework.stereotype.Component;
import java.lang.reflect.Method;
/**
* @author: lyd
* @description: 自定义日志切面:https://cloud.tencent.com/developer/article/1655923
* @Date: 2022/10/10
*/
@Aspect
@Slf4j
@Component
public class LokiLogAspect {
/**
* 切到所有OperatorLog注解修饰的方法
*/
@Pointcut("@annotation(org.nl.wms.log.LokiLog)")
public void operatorLog() {
// 空方法
}
/**
* 利用@Around环绕增强
*
* @return
*/
@Around("operatorLog()")
public synchronized Object around(ProceedingJoinPoint pjp) throws Throwable {
// ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
// HttpServletRequest request = attributes.getRequest();
// HttpServletResponse response = attributes.getResponse();
Signature signature = pjp.getSignature();
MethodSignature methodSignature = (MethodSignature) signature;
Method method = methodSignature.getMethod();
LokiLog lokiLog = method.getAnnotation(LokiLog.class);
// 获取描述信息
LokiLogType logType = lokiLog.type();
MDC.put("log_file_type", logType.getDesc());
log.info("输入参数:" + JSONObject.toJSONString(pjp.getArgs()));
Object proceed = pjp.proceed();
log.info("返回参数:" + JSONObject.toJSONString(proceed));
MDC.remove("log_file_type");
return proceed;
}
}

View File

@@ -1,25 +0,0 @@
package org.nl.wms.log;
/**
* @author: lyd
* @description:
* @Date: 2022/10/11
*/
public enum LokiLogType {
DEFAULT("默认"),
LMS_TO_MES("LMS请求MES"),
MES_TO_LMS("MES请求LMS"),
LMS_TO_ACS("LMS请求ACS"),
ACS_TO_LMS("ACS请求LMS");
private String desc;
LokiLogType(String desc) {
this.desc=desc;
}
public String getDesc() {
return desc;
}
}

View File

@@ -6,10 +6,10 @@ spring:
druid:
db-type: com.alibaba.druid.pool.DruidDataSource
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:lnsh_lms2}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:lnsh_lms2}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
# url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lnsh_lms2}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
username: ${DB_USER:root}
password: ${DB_PWD:P@ssw0rd}
password: ${DB_PWD:Root.123456}
# password: ${DB_PWD:12356}
# 初始连接数
initial-size: 5
@@ -57,7 +57,17 @@ redis:
database: ${REDIS_DB:15}
host: ${REDIS_HOST:127.0.0.1}
port: ${REDIS_PORT:6379}
password: ${REDIS_PWD:}
# password: ${REDIS_PWD:}
redisson:
config: |
threads: 4
nettyThreads: 4
singleServerConfig:
connectionMinimumIdleSize: 8
connectionPoolSize: 8
address: redis://127.0.0.1:6379
idleConnectionTimeout: 10000
timeout: 3000
# 登录相关配置
login:

View File

@@ -56,9 +56,18 @@ spring:
database: ${REDIS_DB:15}
host: ${REDIS_HOST:127.0.0.1}
port: ${REDIS_PORT:6379}
password: ${REDIS_PWD:}
#连接超时时间
timeout: 5000
redisson:
config: |
threads: 4
nettyThreads: 4
singleServerConfig:
connectionMinimumIdleSize: 8
connectionPoolSize: 8
address: redis://127.0.0.1:6379
idleConnectionTimeout: 10000
timeout: 3000
# 登录相关配置
login:
# 登录缓存

View File

@@ -14,10 +14,6 @@ https://juejin.cn/post/6844903775631572999
<property name="log.pattern"
value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss.SSS}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray(%msg%n)"/>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<springProperty scope="context" name="lokiUrl" source="loki.url"/>
<springProperty scope="context" name="systemName" source="loki.systemName"/>
<property name="LOKI_URL" value="${lokiUrl}"/>
<property name="SYSTEM_NAME" value="${systemName}"/>
<property name="LOG_HOME" value="${logPath}"/>
<!--引入默认的一些设置-->
<!--<include resource="log/XrToMes.xml"/>
@@ -26,7 +22,7 @@ https://juejin.cn/post/6844903775631572999
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.pattern}</pattern>
<charset>${log.charset}</charset>
<!-- <charset>${log.charset}</charset>-->
</encoder>
</appender>
@@ -47,6 +43,7 @@ https://juejin.cn/post/6844903775631572999
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期%thread表示线程名%-5level级别从左显示5个字符宽度%msg日志消息%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>${log.charset}</charset>
</encoder>
</appender>
@@ -58,32 +55,17 @@ https://juejin.cn/post/6844903775631572999
<appender-ref ref="FILE"/>
</appender>
<!--添加loki-->
<appender name="lokiAppender" class="com.github.loki4j.logback.Loki4jAppender">
<batchTimeoutMs>1000</batchTimeoutMs>
<http class="com.github.loki4j.logback.ApacheHttpSender">
<url>${LOKI_URL}/push</url>
</http>
<format>
<label>
<pattern>system=${SYSTEM_NAME},level=%level,logType=%X{log_file_type:-logType}</pattern>
</label>
<message>
<pattern>${log.pattern}</pattern>
</message>
<sortByTime>true</sortByTime>
</format>
</appender>
<!--开发环境:打印控制台-->
<springProfile name="dev">
<root level="debug">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="lokiAppender" />
</root>
<logger name="org.springframework" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="org.redisson" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="org.apache" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
@@ -124,55 +106,53 @@ https://juejin.cn/post/6844903775631572999
<springProfile name="prod">
<root level="debug">
<appender-ref ref="asyncFileAppender"/>
<appender-ref ref="lokiAppender"/>
</root>
<logger name="org.springframework" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
<appender-ref ref="lokiAppender"/>
</logger>
<logger name="org.apache" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
<appender-ref ref="lokiAppender"/>
</logger>
<logger name="org.hibernate" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
<appender-ref ref="lokiAppender"/>
</logger>
<logger name="io.netty" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
<appender-ref ref="lokiAppender"/>
</logger>
<logger name="jdbc" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
<appender-ref ref="lokiAppender"/>
</logger>
<logger name="io.lettuce" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
<appender-ref ref="lokiAppender"/>
</logger>
<logger name="com.fasterxml" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
<appender-ref ref="lokiAppender"/>
</logger>
<logger name="org.quartz" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
<appender-ref ref="lokiAppender"/>
</logger>
<logger name="com.google" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
<appender-ref ref="lokiAppender"/>
</logger>
<logger name="springfox" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
<appender-ref ref="lokiAppender"/>
</logger>
<logger name="log4jdbc" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
<appender-ref ref="lokiAppender"/>
</logger>
<logger name="nl.basjes" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
<appender-ref ref="lokiAppender"/>
</logger>
</springProfile>