Browse Source

add 自动门对接 rev luncener日志更新

master
周俊杰 1 year ago
parent
commit
eb24c55505
  1. 6
      acs/nladmin-system/src/main/java/org/nl/acs/agv/rest/MagicAgvController.java
  2. 11
      acs/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/MagicAgvServiceImpl.java
  3. 7
      acs/nladmin-system/src/main/java/org/nl/acs/auto/AcsInit.java
  4. 36
      acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java
  5. 2
      acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/standard_ordinary_site/StandardOrdinarySiteDeviceDriver.java
  6. 6
      acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/converor_barcode/ConveyorBarcodeDeviceDriver.java
  7. 2
      acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator_site/LnshPalletizingManipulatorSiteDeviceDriver.java
  8. 2
      acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_station/LnshStationDeviceDriver.java
  9. 22
      acs/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java
  10. 9
      acs/nladmin-system/src/main/java/org/nl/modules/lucene/common/AsyncLuceneAppender.java
  11. 3
      acs/nladmin-system/src/main/java/org/nl/modules/lucene/common/LuceneAppender.java
  12. 1
      acs/nladmin-system/src/main/java/org/nl/modules/lucene/common/Searcher.java
  13. 2
      acs/nladmin-system/src/main/resources/logback-spring.xml
  14. 1
      acs/nladmin-ui/src/views/monitor/lucene/index.vue

6
acs/nladmin-system/src/main/java/org/nl/acs/agv/rest/MagicAgvController.java

@ -6,6 +6,8 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.acs.agv.server.MagicAgvService; import org.nl.acs.agv.server.MagicAgvService;
import org.nl.modules.logging.annotation.Log; import org.nl.modules.logging.annotation.Log;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
@ -19,7 +21,9 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/api/magic") @RequestMapping("/api/magic")
@Slf4j @Slf4j
public class MagicAgvController { public class MagicAgvController {
private final MagicAgvService magicAgvService; @Autowired
@Lazy
private MagicAgvService magicAgvService;
@PostMapping("/agvack/{device}") @PostMapping("/agvack/{device}")
@Log("AGV请求离开") @Log("AGV请求离开")

11
acs/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/MagicAgvServiceImpl.java

@ -27,6 +27,8 @@ import org.nl.acs.opc.DeviceType;
import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.system.service.ParamService; import org.nl.modules.system.service.ParamService;
import org.nl.modules.wql.util.SpringContextHolder; import org.nl.modules.wql.util.SpringContextHolder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Arrays; import java.util.Arrays;
@ -38,9 +40,12 @@ import java.util.Map;
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
public class MagicAgvServiceImpl implements MagicAgvService { public class MagicAgvServiceImpl implements MagicAgvService {
private final DeviceAppService deviceAppService; @Autowired
private final ParamService paramService; private DeviceAppService deviceAppService;
private final AcsToWmsService acsToWmsService; @Autowired
private ParamService paramService;
@Autowired
private AcsToWmsService acsToWmsService;
Map<String, AgvDto> AGVDeviceStatus = new HashMap(); Map<String, AgvDto> AGVDeviceStatus = new HashMap();

7
acs/nladmin-system/src/main/java/org/nl/acs/auto/AcsInit.java

@ -4,6 +4,7 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.acs.auto.initial.ApplicationAutoInitialExecuter; import org.nl.acs.auto.initial.ApplicationAutoInitialExecuter;
import org.nl.acs.auto.initial.WebAutoInitialExecuter; import org.nl.acs.auto.initial.WebAutoInitialExecuter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner; import org.springframework.boot.ApplicationRunner;
import org.springframework.core.annotation.Order; import org.springframework.core.annotation.Order;
@ -17,8 +18,10 @@ import org.springframework.stereotype.Component;
@RequiredArgsConstructor @RequiredArgsConstructor
@Order(50) @Order(50)
public class AcsInit implements ApplicationRunner { public class AcsInit implements ApplicationRunner {
private final ApplicationAutoInitialExecuter applicationAutoInitialExecuter; @Autowired
private final WebAutoInitialExecuter webAutoInitialExecuter; private ApplicationAutoInitialExecuter applicationAutoInitialExecuter;
@Autowired
private WebAutoInitialExecuter webAutoInitialExecuter;
@Override @Override
public void run(ApplicationArguments args) throws Exception { public void run(ApplicationArguments args) throws Exception {
//随线程启动 //随线程启动

36
acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java

@ -62,7 +62,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
ParamService paramService = SpringContextHolder.getBean(ParamServiceImpl.class); ParamService paramService = SpringContextHolder.getBean(ParamServiceImpl.class);
InstructionService instructionService = SpringContextHolder.getBean(InstructionServiceImpl.class); InstructionService instructionService = SpringContextHolder.getBean(InstructionServiceImpl.class);
TaskService taskService=SpringContextHolder.getBean(TaskServiceImpl.class); TaskService taskService=SpringContextHolder.getBean(TaskServiceImpl.class);
AcsToWmsService acsToWmsService = SpringContextHolder.getBean(AcsToWmsServiceImpl.class); AcsToWmsService acsToWmsService = SpringContextHolder.getBean(AcsToWmsService.class);
NDCAgvService NDCAgvService = SpringContextHolder.getBean(NDCAgvService.class); NDCAgvService NDCAgvService = SpringContextHolder.getBean(NDCAgvService.class);
DeviceExecuteLogService logService = SpringContextHolder.getBean(DeviceExecuteLogService.class); DeviceExecuteLogService logService = SpringContextHolder.getBean(DeviceExecuteLogService.class);
DeviceAppService deviceAppService = SpringContextHolder.getBean(DeviceAppService.class); DeviceAppService deviceAppService = SpringContextHolder.getBean(DeviceAppService.class);
@ -179,7 +179,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
//到达取货点 //到达取货点
//(需要WCS反馈) //(需要WCS反馈)
} else if (phase == 0x03) { } else if (phase == 0x03) {
log.info("==================AGV请求取货=================="); log.info("================== ==================");
if (ObjectUtil.isEmpty(inst)) { if (ObjectUtil.isEmpty(inst)) {
log.info("未找到指令:" + ikey); log.info("未找到指令:" + ikey);
logService.deviceExecuteLog(device_code, "", "", "未找到指令 [" + ikey + "]"); logService.deviceExecuteLog(device_code, "", "", "未找到指令 [" + ikey + "]");
@ -230,15 +230,15 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
//标准版-机械手对接位 //标准版-机械手对接位
if (device.getDeviceDriver() instanceof LnshPalletizingManipulatorSiteDeviceDriver) { if (device.getDeviceDriver() instanceof LnshPalletizingManipulatorSiteDeviceDriver) {
lnshPalletizingManipulatorSiteDeviceDriver = (LnshPalletizingManipulatorSiteDeviceDriver) device.getDeviceDriver(); lnshPalletizingManipulatorSiteDeviceDriver = (LnshPalletizingManipulatorSiteDeviceDriver) device.getDeviceDriver();
Map<String, Object> map = new LinkedHashMap<>();
map.put("to_command",2);
lnshPalletizingManipulatorSiteDeviceDriver.writing(map);
if (lnshPalletizingManipulatorSiteDeviceDriver.getMode() != 0 if (lnshPalletizingManipulatorSiteDeviceDriver.getMode() != 0
&& lnshPalletizingManipulatorSiteDeviceDriver.getMove() != 0 && lnshPalletizingManipulatorSiteDeviceDriver.getMove() != 0
&& (lnshPalletizingManipulatorSiteDeviceDriver.getIo_action() == 3 || lnshPalletizingManipulatorSiteDeviceDriver.getIo_action() == 1) && (lnshPalletizingManipulatorSiteDeviceDriver.getIo_action() == 3 || lnshPalletizingManipulatorSiteDeviceDriver.getIo_action() == 1)
&& (lnshPalletizingManipulatorSiteDeviceDriver.getAction() == 3 || lnshPalletizingManipulatorSiteDeviceDriver.getAction() == 1)) { && (lnshPalletizingManipulatorSiteDeviceDriver.getAction() == 3 || lnshPalletizingManipulatorSiteDeviceDriver.getAction() == 1)) {
inst.setExecute_status("1"); inst.setExecute_status("1");
instructionService.update(inst); instructionService.update(inst);
Map<String, Object> map = new LinkedHashMap<>();
map.put("to_command",2);
lnshPalletizingManipulatorSiteDeviceDriver.writing(map);
if(lnshPalletizingManipulatorSiteDeviceDriver.getTo_command()==2){ if(lnshPalletizingManipulatorSiteDeviceDriver.getTo_command()==2){
data = AgvService.sendAgvOneModeInst(phase, index, 0); data = AgvService.sendAgvOneModeInst(phase, index, 0);
}else { }else {
@ -505,14 +505,14 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
//标准版-机械手对接位 //标准版-机械手对接位
if (device.getDeviceDriver() instanceof LnshPalletizingManipulatorSiteDeviceDriver) { if (device.getDeviceDriver() instanceof LnshPalletizingManipulatorSiteDeviceDriver) {
lnshPalletizingManipulatorSiteDeviceDriver = (LnshPalletizingManipulatorSiteDeviceDriver) device.getDeviceDriver(); lnshPalletizingManipulatorSiteDeviceDriver = (LnshPalletizingManipulatorSiteDeviceDriver) device.getDeviceDriver();
Map<String, Object> map = new LinkedHashMap<>();
map.put("to_command",3);
lnshPalletizingManipulatorSiteDeviceDriver.writing(map);
if (lnshPalletizingManipulatorSiteDeviceDriver.getMode() != 0 if (lnshPalletizingManipulatorSiteDeviceDriver.getMode() != 0
&& lnshPalletizingManipulatorSiteDeviceDriver.getMove() == 0 && lnshPalletizingManipulatorSiteDeviceDriver.getMove() == 0
&& (lnshPalletizingManipulatorSiteDeviceDriver.getIo_action() == 3 || lnshPalletizingManipulatorSiteDeviceDriver.getIo_action() == 2) && (lnshPalletizingManipulatorSiteDeviceDriver.getIo_action() == 3 || lnshPalletizingManipulatorSiteDeviceDriver.getIo_action() == 2)
) { ) {
inst.setExecute_status("5"); inst.setExecute_status("5");
Map<String, Object> map = new LinkedHashMap<>();
map.put("to_command",3);
lnshPalletizingManipulatorSiteDeviceDriver.writing(map);
if(lnshPalletizingManipulatorSiteDeviceDriver.getTo_command()==3){ if(lnshPalletizingManipulatorSiteDeviceDriver.getTo_command()==3){
data = AgvService.sendAgvOneModeInst(phase, index, 0); data = AgvService.sendAgvOneModeInst(phase, index, 0);
}else { }else {
@ -780,15 +780,15 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
//标准版-机械手对接位 //标准版-机械手对接位
if (device.getDeviceDriver() instanceof LnshPalletizingManipulatorSiteDeviceDriver) { if (device.getDeviceDriver() instanceof LnshPalletizingManipulatorSiteDeviceDriver) {
lnshPalletizingManipulatorSiteDeviceDriver = (LnshPalletizingManipulatorSiteDeviceDriver) device.getDeviceDriver(); lnshPalletizingManipulatorSiteDeviceDriver = (LnshPalletizingManipulatorSiteDeviceDriver) device.getDeviceDriver();
Map<String, Object> map = new LinkedHashMap<>();
map.put("to_command",4);
lnshPalletizingManipulatorSiteDeviceDriver.writing(map);
if (lnshPalletizingManipulatorSiteDeviceDriver.getMode() != 0 if (lnshPalletizingManipulatorSiteDeviceDriver.getMode() != 0
&& lnshPalletizingManipulatorSiteDeviceDriver.getMove() == 0 && lnshPalletizingManipulatorSiteDeviceDriver.getMove() == 0
&& (lnshPalletizingManipulatorSiteDeviceDriver.getIo_action() == 1 || lnshPalletizingManipulatorSiteDeviceDriver.getIo_action() == 3) && (lnshPalletizingManipulatorSiteDeviceDriver.getIo_action() == 1 || lnshPalletizingManipulatorSiteDeviceDriver.getIo_action() == 3)
&& (lnshPalletizingManipulatorSiteDeviceDriver.getAction() == 2 || lnshPalletizingManipulatorSiteDeviceDriver.getAction() == 3)) { && (lnshPalletizingManipulatorSiteDeviceDriver.getAction() == 2 || lnshPalletizingManipulatorSiteDeviceDriver.getAction() == 3)) {
inst.setExecute_status("3"); inst.setExecute_status("3");
instructionService.update(inst); instructionService.update(inst);
Map<String, Object> map = new LinkedHashMap<>();
map.put("to_command",4);
lnshPalletizingManipulatorSiteDeviceDriver.writing(map);
if(lnshPalletizingManipulatorSiteDeviceDriver.getTo_command()==4){ if(lnshPalletizingManipulatorSiteDeviceDriver.getTo_command()==4){
data = AgvService.sendAgvOneModeInst(phase, index, 0); data = AgvService.sendAgvOneModeInst(phase, index, 0);
}else { }else {
@ -1047,14 +1047,14 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
//标准版-机械手对接位 //标准版-机械手对接位
if (device.getDeviceDriver() instanceof LnshPalletizingManipulatorSiteDeviceDriver) { if (device.getDeviceDriver() instanceof LnshPalletizingManipulatorSiteDeviceDriver) {
lnshPalletizingManipulatorSiteDeviceDriver = (LnshPalletizingManipulatorSiteDeviceDriver) device.getDeviceDriver(); lnshPalletizingManipulatorSiteDeviceDriver = (LnshPalletizingManipulatorSiteDeviceDriver) device.getDeviceDriver();
Map<String, Object> map = new LinkedHashMap<>();
map.put("to_command",5);
lnshPalletizingManipulatorSiteDeviceDriver.writing(map);
if (lnshPalletizingManipulatorSiteDeviceDriver.getMode() != 0 if (lnshPalletizingManipulatorSiteDeviceDriver.getMode() != 0
&& lnshPalletizingManipulatorSiteDeviceDriver.getMove() != 0 && lnshPalletizingManipulatorSiteDeviceDriver.getMove() != 0
&& (lnshPalletizingManipulatorSiteDeviceDriver.getIo_action() == 2 || lnshPalletizingManipulatorSiteDeviceDriver.getIo_action() == 3)) { && (lnshPalletizingManipulatorSiteDeviceDriver.getIo_action() == 2 || lnshPalletizingManipulatorSiteDeviceDriver.getIo_action() == 3)) {
inst.setExecute_status("6"); inst.setExecute_status("6");
instructionService.update(inst); instructionService.update(inst);
Map<String, Object> map = new LinkedHashMap<>();
map.put("to_command",5);
lnshPalletizingManipulatorSiteDeviceDriver.writing(map);
if(lnshPalletizingManipulatorSiteDeviceDriver.getTo_command()==5){ if(lnshPalletizingManipulatorSiteDeviceDriver.getTo_command()==5){
data = AgvService.sendAgvOneModeInst(phase, index, 0); data = AgvService.sendAgvOneModeInst(phase, index, 0);
}else { }else {
@ -1130,17 +1130,17 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
String direction=task.getDirection(); String direction=task.getDirection();
if(ObjectUtil.isNotEmpty(direction)){ if(ObjectUtil.isNotEmpty(direction)){
Integer direction1=Integer.parseInt(direction); Integer direction1=Integer.parseInt(direction);
Map<String, Object> map = new LinkedHashMap<>();
map.put("to_command",5);
//困料位写入方向 //困料位写入方向
conveyorPressStationDeviceDriver.writing(2,direction1); map.put("to_target",direction1);
conveyorPressStationDeviceDriver.writing(map);
}else{ }else{
log.info("未输入方向"); log.info("未输入方向");
} }
}else{ }else{
log.info("任务号为空"); log.info("任务号为空");
} }
Map<String, Object> map = new LinkedHashMap<>();
map.put("to_command",5);
conveyorPressStationDeviceDriver.writing(map);
data = AgvService.sendAgvOneModeInst(phase, index, 0); data = AgvService.sendAgvOneModeInst(phase, index, 0);
conveyorPressStationDeviceDriver.setMessage(""); conveyorPressStationDeviceDriver.setMessage("");
flag = true; flag = true;

2
acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/standard_ordinary_site/StandardOrdinarySiteDeviceDriver.java

@ -49,7 +49,7 @@ public class StandardOrdinarySiteDeviceDriver extends AbstractDeviceDriver imple
RouteLineService routeLineService = SpringContextHolder.getBean(RouteLineService.class); RouteLineService routeLineService = SpringContextHolder.getBean(RouteLineService.class);
AcsToWmsService acsToWmsService = SpringContextHolder.getBean(AcsToWmsServiceImpl.class); AcsToWmsService acsToWmsService = SpringContextHolder.getBean(AcsToWmsService.class);
DeviceExecuteLogService logServer = SpringContextHolder.getBean(DeviceExecuteLogService.class); DeviceExecuteLogService logServer = SpringContextHolder.getBean(DeviceExecuteLogService.class);

6
acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/converor_barcode/ConveyorBarcodeDeviceDriver.java

@ -120,6 +120,12 @@ public class ConveyorBarcodeDeviceDriver extends AbstractOpcDeviceDriver impleme
String material; String material;
String last_material; String last_material;
int barcode; int barcode;
@Override
public int hashCode() {
return super.hashCode();
}
int last_barcode; int last_barcode;
@Override @Override

2
acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator_site/LnshPalletizingManipulatorSiteDeviceDriver.java

@ -874,7 +874,7 @@ public class LnshPalletizingManipulatorSiteDeviceDriver extends AbstractOpcDevic
* @param * @param
*/ */
public synchronized boolean apply_take_full_vehicle() { public synchronized boolean apply_take_full_vehicle() {
if(move > 0) { if(move > 0 && ObjectUtil.isNotEmpty(barcode)) {
ApplyTaskRequest request = new ApplyTaskRequest(); ApplyTaskRequest request = new ApplyTaskRequest();
request.setDevice_code(this.getDevice_code()); request.setDevice_code(this.getDevice_code());
request.setRequest_medthod_code(Thread.currentThread().getStackTrace()[1].getMethodName()); request.setRequest_medthod_code(Thread.currentThread().getStackTrace()[1].getMethodName());

2
acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_station/LnshStationDeviceDriver.java

@ -155,7 +155,7 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements
lucene.deviceItemValue(this.device_code, "mode", String.valueOf(mode)); lucene.deviceItemValue(this.device_code, "mode", String.valueOf(mode));
lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "信号mode:" + last_mode + " -> " + mode)); lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "信号mode:" + last_mode + " -> " + mode));
} }
if (move != last_move) { if (move != last_move && mode>0) {
logServer.deviceItemValue(this.device_code, "move", String.valueOf(move)); logServer.deviceItemValue(this.device_code, "move", String.valueOf(move));
logServer.deviceExecuteLog(this.device_code, "", "", "信号move:" + last_move + " -> " + move); logServer.deviceExecuteLog(this.device_code, "", "", "信号move:" + last_move + " -> " + move);
lucene.deviceItemValue(this.device_code, "move", String.valueOf(move)); lucene.deviceItemValue(this.device_code, "move", String.valueOf(move));

22
acs/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java

@ -56,6 +56,7 @@ import org.nl.modules.wql.exception.WDKException;
import org.nl.modules.wql.util.SpringContextHolder; import org.nl.modules.wql.util.SpringContextHolder;
import org.nl.modules.wql.util.WqlUtil; import org.nl.modules.wql.util.WqlUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -78,21 +79,22 @@ import java.util.regex.Pattern;
public class TaskServiceImpl implements TaskService, ApplicationAutoInitial { public class TaskServiceImpl implements TaskService, ApplicationAutoInitial {
List<TaskDto> tasks = new ArrayList(); List<TaskDto> tasks = new ArrayList();
@Autowired
private final DeviceAppService deviceAppService; private DeviceAppService deviceAppService;
@Autowired
private final RouteLineService routelineserver; private RouteLineService routelineserver;
@Autowired @Autowired
private AcsToWmsService acstowmsService; private AcsToWmsService acstowmsService;
@Autowired @Autowired
@Lazy
private TaskFeedbackService taskFeedbackService; private TaskFeedbackService taskFeedbackService;
@Autowired
private ParamService acsConfigService;
private final ParamService acsConfigService; @Autowired
private RouteLineService routeLineService;
@Autowired
private final RouteLineService routeLineService; private DeviceAssignedService deviceAssignedService;
private final DeviceAssignedService deviceAssignedService;
@Autowired @Autowired
private InstructionService instructionService; private InstructionService instructionService;

9
acs/nladmin-system/src/main/java/org/nl/modules/lucene/common/AsyncLuceneAppender.java

@ -7,6 +7,7 @@ package org.nl.modules.lucene.common;
*/ */
import ch.qos.logback.classic.spi.ILoggingEvent; import ch.qos.logback.classic.spi.ILoggingEvent;
import cn.hutool.core.util.IdUtil;
import com.yomahub.tlog.core.context.AspectLogContext; import com.yomahub.tlog.core.context.AspectLogContext;
import com.yomahub.tlog.core.enhance.logback.async.AspectLogbackAsyncAppender; import com.yomahub.tlog.core.enhance.logback.async.AspectLogbackAsyncAppender;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -20,6 +21,14 @@ public class AsyncLuceneAppender extends AspectLogbackAsyncAppender {
@Override @Override
protected void append(ILoggingEvent event) { protected void append(ILoggingEvent event) {
String traceId = AspectLogContext.getLogValue(); String traceId = AspectLogContext.getLogValue();
if (StringUtils.isEmpty(traceId)){
traceId = IdUtil.nanoId()+"@";
AspectLogContext.putLogValue(traceId);
}else {
if (!traceId.contains("@")){
AspectLogContext.putLogValue(traceId+"@");
}
}
if (StringUtils.isNotEmpty(traceId)){ if (StringUtils.isNotEmpty(traceId)){
MDC.put("traceId",traceId); MDC.put("traceId",traceId);
Map<String, String> mdcPropertyMap = event.getMDCPropertyMap(); Map<String, String> mdcPropertyMap = event.getMDCPropertyMap();

3
acs/nladmin-system/src/main/java/org/nl/modules/lucene/common/LuceneAppender.java

@ -59,7 +59,8 @@ public class LuceneAppender extends AppenderBase<ILoggingEvent> {
protected void append(ILoggingEvent event) { protected void append(ILoggingEvent event) {
String message = event.getFormattedMessage(); String message = event.getFormattedMessage();
try { try {
LuceneLogDto luceneLogDto = JSONObject.parseObject(message, LuceneLogDto.class); String[] split = message.split("@");
LuceneLogDto luceneLogDto = JSONObject.parseObject(split[1], LuceneLogDto.class);
Document document = new Document(); Document document = new Document();
try { try {
//向document对象中添加域。 //向document对象中添加域。

1
acs/nladmin-system/src/main/java/org/nl/modules/lucene/common/Searcher.java

@ -92,6 +92,7 @@ public class Searcher {
Document doc = reader.document(scoreDoc.doc); Document doc = reader.document(scoreDoc.doc);
JSONObject object = new JSONObject(); JSONObject object = new JSONObject();
object.put("content",doc.get("fieldContent")); object.put("content",doc.get("fieldContent"));
// object.put("trace_id",doc.get("trace_id"));
object.put("device_code",doc.get("device_code")); object.put("device_code",doc.get("device_code"));
object.put("logTime",doc.get("logTime")); object.put("logTime",doc.get("logTime"));
object.put("method",doc.get("method")); object.put("method",doc.get("method"));

2
acs/nladmin-system/src/main/resources/logback-spring.xml

@ -62,7 +62,7 @@ https://juejin.cn/post/6844903775631572999
</appender> </appender>
<appender name="luceneAppender" class="org.nl.modules.lucene.common.LuceneAppender" /> <appender name="luceneAppender" class="org.nl.modules.lucene.common.LuceneAppender" />
<appender name="asyncLuceneAppender" class="org.nl.modules.lucene.common.AsyncLuceneAppender"> <appender name="asyncLuceneAppender" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="luceneAppender" /> <appender-ref ref="luceneAppender" />
<!-- 设置队列大小,根据您的需求调整 --> <!-- 设置队列大小,根据您的需求调整 -->
<queueSize>512</queueSize> <queueSize>512</queueSize>

1
acs/nladmin-ui/src/views/monitor/lucene/index.vue

@ -16,6 +16,7 @@
<!-- <el-table-column v-if="false" prop="id" label="id"/>--> <!-- <el-table-column v-if="false" prop="id" label="id"/>-->
<el-table-column prop="operate" width="50" label="操作" /> <el-table-column prop="operate" width="50" label="操作" />
<el-table-column prop="device_code" label="设备号" min-width="130" show-overflow-tooltip /> <el-table-column prop="device_code" label="设备号" min-width="130" show-overflow-tooltip />
<!-- <el-table-column prop="trace_id" label="链路追踪" /> -->
<el-table-column prop="task_code" label="任务编号" /> <el-table-column prop="task_code" label="任务编号" />
<el-table-column prop="instruct_code" label="指令编号" /> <el-table-column prop="instruct_code" label="指令编号" />
<el-table-column prop="method" label="方法" /> <el-table-column prop="method" label="方法" />

Loading…
Cancel
Save