调整日志打印逻辑

- 调整日志消息写入的逻辑
- 当出现非固定解时,D341 MessageExecutor 将此时的日志写入LOG文件
This commit is contained in:
fengyarnom 2024-10-30 18:20:07 +08:00
parent 9495bcfcdb
commit f45ade6dfa
5 changed files with 35 additions and 11 deletions

View File

@ -1,5 +1,6 @@
package com.imdroid.sideslope.executor;
import com.imdroid.common.util.DataTypeUtil;
import com.imdroid.common.util.ThreadManager;
import com.imdroid.secapi.client.BeidouClient;
import com.imdroid.secapi.dto.GnssDevice;
@ -18,6 +19,7 @@ import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
/**
@ -41,7 +43,13 @@ public class D331RtcmMessageExecutor implements Executor<D331RtcmMessage, Void>
// 补齐tenantId
Device device1 = deviceService.findByDeviceId(id);
if(device1 == null || device1.getOpMode() == GnssDevice.OP_MODE_UNUSE) return null;
logger.debug("receive d331 rtcm message of device: "+message.getId()+", seq:"+message.getSeq()+", len:"+message.getLen());
// 原始码流输出到日志文件 -- INFO 级别
// 只有测站开了日志记录或者消息来自基站才将原码记录到日志文件
if(device1.getLoggingmode() == GnssDevice.LOGGIN_MODE_FULL || device1.getDeviceType() == GnssDevice.TYPE_REFERENCE_STATION){
logger.info("receive "+message.getId()+" d331 message: "+ DataTypeUtil.getHexString(message.getSrcData()));
logger.info("receive d331 rtcm message of device: "+message.getId()+", seq:"+message.getSeq()+", len:"+message.getLen());
}
// 推送基站数据
if(device1.getOpMode() == GnssDevice.OP_MODE_USE) {

View File

@ -1,7 +1,9 @@
package com.imdroid.sideslope.executor;
import com.imdroid.common.util.DataTypeUtil;
import com.imdroid.common.util.ThreadManager;
import com.imdroid.secapi.client.BeidouClient;
import com.imdroid.secapi.dto.GnssDevice;
import com.imdroid.sideslope.bd.Gga;
import com.imdroid.sideslope.calc.GNSSDataCalcService;
import com.imdroid.sideslope.message.D341LocationMessage;
@ -35,14 +37,17 @@ public class D341LocationMessageExecutor implements Executor<D341LocationMessage
private DataPersistService dataPersistService;
@Override
public Void execute(D341LocationMessage message) {
if (logger.isDebugEnabled()) {
logger.debug("receive d341 message of device: "+message.getId()+", seq:"+message.getSeq()+", len:"+message.getLen());
}
// 补齐tenantId要求快速处理因此用缓存不要每次都查数据库
Device device = deviceService.findByDeviceId(message.getId());
if(device == null) return null;
message.setTenantId(device.getTenantId());
// 原始码流输出到日志文件 -- INFO 级别
if(device.getLoggingmode() == GnssDevice.LOGGIN_MODE_FULL){
logger.info("receive "+message.getId()+" d341 message: "+ DataTypeUtil.getHexString(message.getSrcData()));
logger.info("receive d341 message of device: "+message.getId()+", seq:"+message.getSeq()+", len:"+message.getLen());
}
// trx cycle stat
LocalDateTime now = LocalDateTime.now();
if(device.getLastRxTime()!=null &&
@ -86,6 +91,13 @@ public class D341LocationMessageExecutor implements Executor<D341LocationMessage
device.setLatitude(gga.getLatitude());
device.setLongitude(gga.getLongitude());
device.setAltitude(gga.getAltitude());
}else{
// 若不是固定解则打印原始码流到日志里
if(device.getLoggingmode() == GnssDevice.LOGGIN_MODE_SIMPLE){
logger.info("receive "+message.getId()+" d341 message: "+ DataTypeUtil.getHexString(message.getSrcData()));
logger.info("receive d341 message of device: "+message.getId()+", seq:"+message.getSeq()+", len:"+message.getLen());
}
}
if(!device.isB562AsCalc()){
device.updateCalcQuality(gga.getQuality());

View File

@ -1,11 +1,13 @@
package com.imdroid.sideslope.executor;
import com.imdroid.common.util.DataTypeUtil;
import com.imdroid.common.util.HexUtil;
import com.imdroid.common.util.ThreadManager;
import com.imdroid.secapi.client.BeidouClient;
import com.imdroid.secapi.dto.GnssMsg;
import com.imdroid.secapi.dto.GnssMsgMapper;
import com.imdroid.secapi.dto.GnssStatus;
import com.imdroid.sideslope.bd.WarningLogExecutor;
import com.imdroid.sideslope.message.D3F0SelfCheckMessage;
import com.imdroid.sideslope.sal.Device;
import com.imdroid.sideslope.sal.DeviceService;
@ -41,11 +43,10 @@ public class D3F0SelfCheckMessageExecutor implements Executor<D3F0SelfCheckMessa
@Autowired
ApiController rtcmClient;
@Override
public Void execute(D3F0SelfCheckMessage message) {
if (logger.isDebugEnabled()) {
logger.debug("receive d3f0 message of device: "+message.getId());
}
logger.info("receive d3f0 message of "+message.getId() +" device: " + DataTypeUtil.getHexString(message.getSrcData()));
Device device = deviceService.findByDeviceId(message.getId());
if(device == null) return null;

View File

@ -1,5 +1,6 @@
package com.imdroid.sideslope.executor;
import com.imdroid.common.util.DataTypeUtil;
import com.imdroid.common.util.ThreadManager;
import com.imdroid.secapi.client.BeidouClient;
import com.imdroid.secapi.dto.GnssTrxMsg;
@ -40,9 +41,9 @@ public class D3F2StopIndicationMessageExecutor implements Executor<D3F2StopIndic
@Override
public Void execute(D3F2StopIndicationMessage message) {
if (logger.isDebugEnabled()) {
logger.debug("receive d3f2 message of device: "+message.getId());
}
logger.info("receive d3f2 message of "+message.getId() +" device: " + DataTypeUtil.getHexString(message.getSrcData()));
// 补齐tenantId
String deviceId = message.getId();
Device device = deviceService.findByDeviceId(deviceId);

View File

@ -22,7 +22,9 @@ public class RtcmTcpHandler extends SimpleChannelInboundHandler<ByteBuf> {
if (logger.isDebugEnabled()) {
byte[] data = new byte[src.readableBytes()];
src.getBytes(0, data);
logger.debug("receive message:" + DataTypeUtil.getHexString(data));
// 为减轻服务器压力服务器的日志记录等级为 INFO
// 此处的 debug 信息用于调试
// logger.debug("receive message:" + DataTypeUtil.getHexString(data));
}
try {
BaseMessage message = MessageParser.instance.parse(src);