Browse Source

去掉Loki

master
管理员 2 years ago
parent
commit
7366adc13c
  1. 6
      lms/nladmin-system/pom.xml
  2. 29
      lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java
  3. 2
      lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java
  4. 298
      lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java
  5. 15
      lms/nladmin-system/src/main/java/org/nl/wms/log/LokiLog.java
  6. 63
      lms/nladmin-system/src/main/java/org/nl/wms/log/LokiLogAspect.java
  7. 25
      lms/nladmin-system/src/main/java/org/nl/wms/log/LokiLogType.java
  8. 16
      lms/nladmin-system/src/main/resources/config/application-dev.yml
  9. 11
      lms/nladmin-system/src/main/resources/config/application-prod.yml
  10. 52
      lms/nladmin-system/src/main/resources/logback-spring.xml

6
lms/nladmin-system/pom.xml

@ -32,6 +32,12 @@
</properties>
<dependencies>
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-boot-starter</artifactId>
<version>3.16.4</version>
</dependency>
<!--工具包-->
<dependency>
<groupId>cn.hutool</groupId>

29
lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java

@ -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);
}

2
lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java

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

298
lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java

@ -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("点位不能为空");
/**
* 类型映射
* 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);
// 参数统一获取
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);
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 "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);
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");
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);
/*
* 根据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 ZDCDX:
// 10.分拣送钢托盘
param.put("point_code1", point_code); // 起点
SpringContextHolder.getBean(FjSendEmpVehicleTask.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 KGTDPQ:
// 13.叠盘区送空钢托盘
param.put("point_code1", point_code); // 起点
SpringContextHolder.getBean(DpSendEmpVehicleTask.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;
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);
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;
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;

15
lms/nladmin-system/src/main/java/org/nl/wms/log/LokiLog.java

@ -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;
}

63
lms/nladmin-system/src/main/java/org/nl/wms/log/LokiLogAspect.java

@ -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;
}
}

25
lms/nladmin-system/src/main/java/org/nl/wms/log/LokiLogType.java

@ -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;
}
}

16
lms/nladmin-system/src/main/resources/config/application-dev.yml

@ -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:

11
lms/nladmin-system/src/main/resources/config/application-prod.yml

@ -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:
# 登录缓存

52
lms/nladmin-system/src/main/resources/logback-spring.xml

@ -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>

Loading…
Cancel
Save