Browse Source

查询设备状态

master
周俊杰 2 years ago
parent
commit
b7cf50cd10
  1. 2
      acs/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/AgvService.java
  2. 7
      acs/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/MagicAgvService.java
  3. 69
      acs/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/AgvServiceImpl.java
  4. 2
      acs/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/MagicAgvServiceImpl.java
  5. 2
      acs/hd/nladmin-system/src/main/java/org/nl/acs/config/AcsConfig.java
  6. 2
      acs/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java
  7. 35
      acs/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/QueryMagicAgvDeviceStatus.java
  8. 4
      acs/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/ToAgvDevice.java
  9. 45
      acs/hd/nladmin-system/src/main/resources/log/AcsToWms.xml
  10. 43
      acs/hd/nladmin-system/src/main/resources/log/AutoCreateInst.xml
  11. 29
      acs/hd/nladmin-system/src/main/resources/log/NDCSocketConnectionAutoRun.xml
  12. 47
      acs/hd/nladmin-system/src/main/resources/log/QueryAgvTaskStatus.xml
  13. 28
      acs/hd/nladmin-system/src/main/resources/log/QueryXZAgvTaskStatus.xml
  14. 58
      acs/hd/nladmin-system/src/main/resources/log/WmsToAcs.xml
  15. 107
      acs/hd/nladmin-system/src/main/resources/logback-spring.xml

2
acs/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/AgvService.java

@ -1,5 +1,6 @@
package org.nl.acs.agv.server;
import cn.hutool.http.HttpResponse;
import org.nl.acs.agv.server.dto.AgvDto;
import java.util.Map;
@ -17,6 +18,7 @@ public interface AgvService {
*/
public String requestOpenOrCloseDoor(String device, String param);
public HttpResponse queryMagicAgvDeviceStatus();
//

7
acs/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/MagicAgvService.java

@ -4,6 +4,7 @@ import cn.hutool.http.HttpResponse;
import org.nl.acs.agv.server.dto.AgvDto;
import org.nl.acs.instruction.service.dto.Instruction;
import java.util.List;
import java.util.Map;
/**
@ -13,6 +14,7 @@ import java.util.Map;
*/
public interface MagicAgvService {
Map<String, AgvDto> findAllAgvFromCache();
/**
* 查询自动门状态
@ -39,8 +41,9 @@ public interface MagicAgvService {
public HttpResponse sendAgvInstToMagic(String code) throws Exception;
//查询AGV状态,故障、充电等
/**
查询AGV状态故障充电等
*/
public HttpResponse queryMagicAgvDeviceStatus();
/**

69
acs/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/AgvServiceImpl.java

@ -2,6 +2,8 @@ package org.nl.acs.agv.server.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
@ -11,14 +13,19 @@ import org.nl.acs.agv.server.dto.AgvDto;
import org.nl.acs.config.AcsConfig;
import org.nl.acs.config.server.AcsConfigService;
import org.nl.acs.device_driver.autodoor.standard_autodoor.StandardAutodoorDeviceDriver;
import org.nl.acs.device_driver.standard_storage.StandardStorageDeviceDriver;
import org.nl.acs.ext.wms.service.AcsToWmsService;
import org.nl.acs.instruction.service.InstructionService;
import org.nl.acs.instruction.service.dto.Instruction;
import org.nl.acs.log.service.DeviceExecuteLogService;
import org.nl.acs.opc.Device;
import org.nl.acs.opc.DeviceAppService;
import org.nl.acs.opc.DeviceAppServiceImpl;
import org.nl.acs.opc.DeviceType;
import org.nl.acs.task.service.TaskService;
import org.nl.acs.task.service.dto.TaskDto;
import org.nl.exception.BadRequestException;
import org.nl.utils.SpringContextHolder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -77,15 +84,6 @@ public class AgvServiceImpl implements AgvService {
AGVDeviceStatus.put(dto.getName(), dto);
}
@Override
public String requestOpenOrCloseDoor(String device_code, String param) {
log.info("AGV请求开关门参数,设备:{},参数:{}", device_code, param);
@ -117,6 +115,59 @@ public class AgvServiceImpl implements AgvService {
return null;
}
@Override
public HttpResponse queryMagicAgvDeviceStatus() {
if (StrUtil.equals(acsConfigService.findConfigFromCache().get(AcsConfig.FORKAGV).toString(), "1")) {
String agvurl = acsConfigService.findConfigFromCache().get(AcsConfig.AGVURL);
String agvport = acsConfigService.findConfigFromCache().get(AcsConfig.AGVPORT);
agvurl = agvurl + ":" + agvport + "/v1/vehicles";
HttpResponse result = HttpRequest.get(agvurl)
.timeout(20000)//超时,毫秒
.execute();
System.out.println("查询agv状态数据:" + result.body());
log.info("查询agv状态数据:" + result.body());
if (result.getStatus() == 200) {
net.sf.json.JSONArray ja = net.sf.json.JSONArray.fromObject(result.body());
for (int i = 0; i < ja.size(); i++) {
net.sf.json.JSONObject jo = (net.sf.json.JSONObject) ja.get(i);
String name = jo.getString("name");
String state = jo.getString("state");
String energyLevel = jo.getString("energyLevel");
String transportOrder = jo.getString("transportOrder");
net.sf.json.JSONObject jo_p = jo.getJSONObject("properties");
String positionAngle = null;
String positionX = null;
String positionY = null;
for (int j = 0; j < jo_p.size(); j++) {
positionAngle = jo_p.getString("positionAngle");
positionX = jo_p.getString("positionX");
positionY = jo_p.getString("positionY");
}
AgvDto dto = new AgvDto();
dto.setName(name);
dto.setEnergyLevel(energyLevel);
dto.setState(state);
dto.setPositionAngle(positionAngle);
dto.setPositionX(positionX);
dto.setPositionY(positionY);
dto.setTransportOrder(transportOrder);
if (AGVDeviceStatus.containsKey(name)) {
AGVDeviceStatus.remove(name);
AGVDeviceStatus.put(name, dto);
} else {
AGVDeviceStatus.put(name, dto);
}
}
}
return result;
} else {
return null;
}
}
@Override
public String queryAllDoorStatus() {

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

@ -64,6 +64,8 @@ public class MagicAgvServiceImpl implements MagicAgvService {
return nowAsISO;
}
@Override
public HttpResponse sendAgvInstToMagic(String instcode) throws Exception {
InstructionService instructionService = SpringContextHolder.getBean(InstructionService.class);

2
acs/hd/nladmin-system/src/main/java/org/nl/acs/config/AcsConfig.java

@ -20,6 +20,8 @@ public interface AcsConfig {
String AGVTYPE = "agvType";
//WMS系统接口地址
String WMSURL = "wmsurl";
//MES系统接口地址
String MESURL = "mesurl";
//WCS系统接口地址
String WCSURL = "wcsurl";

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

@ -849,7 +849,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
public HttpResponse feedbackAgv(JSONArray from) {
try {
MDC.put(log_file_type, log_type);
String wmsUrl = acsConfigService.findConfigFromCache().get(AcsConfig.WMSURL);
String wmsUrl = acsConfigService.findConfigFromCache().get(AcsConfig.MESURL);
AddressDto addressDto = addressService.findByCode("feedbackAgv");
String methods_url = addressDto.getMethods_url();
String url = wmsUrl + methods_url;

35
acs/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/QueryMagicAgvDeviceStatus.java

@ -0,0 +1,35 @@
package org.nl.modules.quartz.task;
import cn.hutool.http.HttpResponse;
import lombok.extern.slf4j.Slf4j;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.nl.acs.agv.server.AgvService;
import org.nl.acs.instruction.service.InstructionService;
import org.nl.acs.opc.Device;
import org.nl.acs.opc.DeviceAppService;
import org.nl.acs.opc.DeviceAppServiceImpl;
import org.nl.utils.SpringContextHolder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 查询AGV设备状态
*/
@Slf4j
@Component("queryMagicAgvDeviceStatus")
public class QueryMagicAgvDeviceStatus {
@Autowired
InstructionService instructionService;
@Autowired
AgvService agvService;
public void run() throws Exception {
HttpResponse response = agvService.queryMagicAgvDeviceStatus();
}
}

4
acs/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/ToAgvDevice.java

@ -66,10 +66,6 @@ public class ToAgvDevice {
row.put("positionAngle", agvDto.getPositionAngle());
agv_rows.add(row);
}
json.put("agv_rows", agv_rows);
SocketMsg deviceInfo = new SocketMsg(json, MsgType.INFO);
WebSocketServer.sendInfo(deviceInfo, "toAgvDevice_data");
acsToWmsService.feedbackAgv(agv_rows);
}

45
acs/hd/nladmin-system/src/main/resources/log/AcsToWms.xml

@ -1,29 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<included>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<property name="log.pattern"
value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray(%msg%n)"/>
<springProperty scope="context" name="lokiUrl" source="loki.url"/>
<property name="LOKI_URL" value="${lokiUrl}"/>
<!--添加loki-->
<appender name="lokiAppender" class="com.github.loki4j.logback.Loki4jAppender">
<batchTimeoutMs>1000</batchTimeoutMs>
<http class="com.github.loki4j.logback.ApacheHttpSender">
<url>${LOKI_URL}</url>
</http>
<format>
<label>
<pattern>logType=acs_to_wms</pattern>
</label>
<message>
<pattern>${log.pattern}</pattern>
</message>
<sortByTime>true</sortByTime>
</format>
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILEACSTOWMS" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_HOME}/ACS请求WMS/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--日志文件保留天数-->
<maxHistory>15</maxHistory>
<!--单个日志最大容量 至少10MB才能看得出来-->
<maxFileSize>50MB</maxFileSize>
<!--所有日志最多占多大容量-->
<totalSizeCap>2GB</totalSizeCap>
</rollingPolicy>
<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>
</encoder>
</appender>
<!-- <logger name="org.nl.start.Init" level="info" additivity="false">
<appender-ref ref="FILE3"/>
</logger>-->
<!-- 打印sql -->
<logger name="org.nl.acs.ext.wms.service.impl.AcsToWmsServiceImpl" level="info" additivity="false">
<appender-ref ref="lokiAppender" />
<logger name="org.nl.acs.agv.server.impl.AgvServiceImpl" level="info" additivity="false">
<appender-ref ref="FILEACSTOWMS"/>
</logger>
</included>

43
acs/hd/nladmin-system/src/main/resources/log/AutoCreateInst.xml

@ -1,28 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<included>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<property name="log.pattern"
value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray(%msg%n)"/>
<springProperty scope="context" name="lokiUrl" source="loki.url"/>
<property name="LOKI_URL" value="${lokiUrl}"/>
<!--添加loki-->
<appender name="lokiAppender" class="com.github.loki4j.logback.Loki4jAppender">
<batchTimeoutMs>1000</batchTimeoutMs>
<http class="com.github.loki4j.logback.ApacheHttpSender">
<url>${LOKI_URL}</url>
</http>
<format>
<label>
<pattern>logType=auto_create_inst</pattern>
</label>
<message>
<pattern>${log.pattern}</pattern>
</message>
<sortByTime>true</sortByTime>
</format>
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILEAutoCreateInst" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_HOME}/自动创建指令/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--日志文件保留天数-->
<maxHistory>15</maxHistory>
<!--单个日志最大容量 至少10MB才能看得出来-->
<maxFileSize>200MB</maxFileSize>
<!--所有日志最多占多大容量-->
<totalSizeCap>2GB</totalSizeCap>
</rollingPolicy>
<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>
</encoder>
</appender>
<!-- <logger name="org.nl.start.Init" level="info" additivity="false">
<appender-ref ref="FILE3"/>
</logger>-->
<!-- 打印sql -->
<logger name="org.nl.modules.quartz.task.AutoCreateInst" level="info" additivity="false">
<appender-ref ref="lokiAppender" />
<appender-ref ref="FILEAutoCreateInst"/>
</logger>
</included>

29
acs/hd/nladmin-system/src/main/resources/log/NDCSocketConnectionAutoRun.xml

@ -1,29 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<included>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<property name="log.pattern"
value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray(%msg%n)"/>
<springProperty scope="context" name="lokiUrl" source="loki.url"/>
<property name="LOKI_URL" value="${lokiUrl}"/>
<!--添加loki-->
<appender name="lokiAppender" class="com.github.loki4j.logback.Loki4jAppender">
<batchTimeoutMs>1000</batchTimeoutMs>
<http class="com.github.loki4j.logback.ApacheHttpSender">
<url>${LOKI_URL}</url>
</http>
<format>
<label>
<pattern>logType=ndc_socket_connection_autorun</pattern>
</label>
<message>
<pattern>${log.pattern}</pattern>
</message>
<sortByTime>true</sortByTime>
</format>
</appender>
<!-- 打印sql -->
<logger name="org.nl.start.auto.run.NDCSocketConnectionAutoRun" level="info" additivity="false">
<appender-ref ref="lokiAppender" />
</logger>
</included>

47
acs/hd/nladmin-system/src/main/resources/log/QueryAgvTaskStatus.xml

@ -1,27 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<included>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<property name="log.pattern"
value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray(%msg%n)"/>
<springProperty scope="context" name="lokiUrl" source="loki.url"/>
<property name="LOKI_URL" value="${lokiUrl}"/>
<!--添加loki-->
<appender name="lokiAppender" class="com.github.loki4j.logback.Loki4jAppender">
<batchTimeoutMs>1000</batchTimeoutMs>
<http class="com.github.loki4j.logback.ApacheHttpSender">
<url>${LOKI_URL}</url>
</http>
<format>
<label>
<pattern>logType=agv_task_status</pattern>
</label>
<message>
<pattern>${log.pattern}</pattern>
</message>
<sortByTime>true</sortByTime>
</format>
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILEMagicAgvServiceImpl" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_HOME}/查询AGV设备状态/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--日志文件保留天数-->
<maxHistory>15</maxHistory>
<!--单个日志最大容量 至少10MB才能看得出来-->
<maxFileSize>100MB</maxFileSize>
<!--所有日志最多占多大容量-->
<totalSizeCap>2GB</totalSizeCap>
</rollingPolicy>
<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>
</encoder>
</appender>
<logger name="org.nl.modules.quartz.task.QueryMagicAgvTaskStatus" level="info" additivity="false">
<appender-ref ref="lokiAppender" />
<!-- <logger name="org.nl.start.Init" level="info" additivity="false">
<appender-ref ref="FILE3"/>
</logger>-->
<!-- 打印sql -->
<logger name="org.nl.acs.ext.wms.service.impl.MagicAgvServiceImpl" level="info" additivity="false">
<appender-ref ref="FILEMagicAgvServiceImpl"/>
</logger>
</included>

28
acs/hd/nladmin-system/src/main/resources/log/QueryXZAgvTaskStatus.xml

@ -1,28 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<included>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<springProperty scope="context" name="lokiUrl" source="loki.url"/>
<property name="LOKI_URL" value="${lokiUrl}"/>
<property name="log.pattern"
value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray(%msg%n)"/>
<!--添加loki-->
<appender name="lokiAppender" class="com.github.loki4j.logback.Loki4jAppender">
<batchTimeoutMs>1000</batchTimeoutMs>
<http class="com.github.loki4j.logback.ApacheHttpSender">
<url>${LOKI_URL}</url>
</http>
<format>
<label>
<pattern>logType=xz_agv_task_status</pattern>
</label>
<message>
<pattern>${log.pattern}</pattern>
</message>
<sortByTime>true</sortByTime>
</format>
</appender>
<logger name="org.nl.modules.quartz.task.QueryXZAgvTaskStatus" level="info" additivity="false">
<appender-ref ref="lokiAppender" />
</logger>
</included>

58
acs/hd/nladmin-system/src/main/resources/log/WmsToAcs.xml

@ -1,30 +1,32 @@
<!--<?xml version="1.0" encoding="UTF-8"?>-->
<!--<included>-->
<!-- <springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>-->
<!-- <springProperty scope="context" name="lokiUrl" source="loki.url"/>-->
<!-- <property name="LOKI_URL" value="${lokiUrl}"/>-->
<!-- <property name="log.pattern"-->
<!-- value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray(%msg%n)"/>-->
<?xml version="1.0" encoding="UTF-8"?>
<included>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILEWmsToAcsServiceImpl" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_HOME}/WMS下发ACS/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--日志文件保留天数-->
<maxHistory>15</maxHistory>
<!--单个日志最大容量 至少10MB才能看得出来-->
<maxFileSize>200MB</maxFileSize>
<!--所有日志最多占多大容量-->
<totalSizeCap>2GB</totalSizeCap>
</rollingPolicy>
<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>
</encoder>
<!-- &lt;!&ndash;添加loki&ndash;&gt;-->
<!-- <appender name="lokiAppender" class="com.github.loki4j.logback.Loki4jAppender">-->
<!-- <batchTimeoutMs>1000</batchTimeoutMs>-->
<!-- <http class="com.github.loki4j.logback.ApacheHttpSender">-->
<!-- <url>${LOKI_URL}</url>-->
<!-- </http>-->
<!-- <format>-->
<!-- <label>-->
<!-- <pattern>logType=wms_to_acs</pattern>-->
<!-- </label>-->
<!-- <message>-->
<!-- <pattern>${log.pattern}</pattern>-->
<!-- </message>-->
<!-- <sortByTime>true</sortByTime>-->
<!-- </format>-->
<!-- </appender>-->
</appender>
<!-- &lt;!&ndash; 打印sql &ndash;&gt;-->
<!-- <logger name="org.nl.acs.ext.wms.service.impl.WmsToAcsServiceImpl" level="info" additivity="false">-->
<!-- <appender-ref ref="lokiAppender" />-->
<!-- </logger>-->
<!--</included>-->
<!-- <logger name="org.nl.start.Init" level="info" additivity="false">
<appender-ref ref="FILE3"/>
</logger>-->
<!-- 打印sql -->
<logger name="org.nl.acs.ext.wms.service.impl.WmsToAcsServiceImpl" level="info" additivity="false">
<appender-ref ref="FILEWmsToAcsServiceImpl"/>
</logger>
</included>

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

@ -12,25 +12,15 @@ https://juejin.cn/post/6844903775631572999
<contextName>nlAdmin</contextName>
<property name="log.charset" value="utf-8"/>
<property name="log.pattern"
value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %cyan(%msg%n)"/>
value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss}) %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}"/>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<property name="LOG_HOME" value="${logPath}"/>
<!--引入默认的一些设置-->
<!-- <include resource="log/AutoCreateInst.xml"/>
<include resource="log/QueryAgvTaskStatus.xml"/>
<include resource="log/AgvFeedbackServiceImpl.xml"/>
<include resource="log/AgvLeaveServlet.xml"/>
<include resource="log/AcsToErp.xml"/>
<include resource="log/AcsToWms.xml"/>
<include resource="log/AutoCreateInst.xml"/>
<include resource="log/AgvServiceImpl.xml"/>
<include resource="log/WmsToAcs.xml"/>
<include resource="log/QueryXZAgvTaskStatus.xml"/>
<include resource="log/NDCSocketConnectionAutoRun.xml"/>-->
<!-- <include resource="log/QueryMagicAgvDeviceStatus.xml"/>-->
<include resource="log/AcsToWms.xml"/>
<include resource="log/QueryAgvTaskStatus.xml"/>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
@ -39,6 +29,8 @@ https://juejin.cn/post/6844903775631572999
</encoder>
</appender>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
@ -55,6 +47,7 @@ https://juejin.cn/post/6844903775631572999
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<!--异步到文件-->
@ -64,44 +57,20 @@ 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},device=%X{device_code_log:-device}</pattern>
</label>
<message>
<pattern>${log.pattern}</pattern>
</message>
<sortByTime>true</sortByTime>
</format>
</appender>
<!--生产环境:打印控制台和输出到文件-->
<springProfile name="prod">
<root level="error">
<appender-ref ref="asyncFileAppender"/>
</root>
</springProfile>
<!--开发环境:打印控制台-->
<springProfile name="dev">
<root level="info">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="lokiAppender"/>
</root>
<!--logmanage -->
<logger name="org.nl.acs.log.service.impl.DeviceExecuteLogServiceImpl" level="info" additivity="false">
<appender-ref ref="lokiAppender" />
</logger>
<logger name="jdbc.resultsettable" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="lokiAppender" />
</logger>
<logger name="org.openscada.opc.lib.da.Server" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="lokiAppender" />
</logger>
<!--logmanage -->
<logger name="jdbc.audit" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
@ -112,6 +81,9 @@ https://juejin.cn/post/6844903775631572999
<logger name="springfox.documentation" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="jdbc.resultsettable" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="jdbc.sqlonly" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
@ -122,6 +94,7 @@ https://juejin.cn/post/6844903775631572999
<appender-ref ref="CONSOLE"/>
</logger>
</springProfile>
<!--测试环境:打印控制台-->
<springProfile name="test">
<!-- 打印sql -->
@ -130,48 +103,6 @@ https://juejin.cn/post/6844903775631572999
</logger>
<root level="info">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="lokiAppender" />
</root>
</springProfile>
<!--生产环境:打印控制台和输出到文件-->
<springProfile name="prod">
<root level="info">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="lokiAppender" />
</root>
<!--logmanage -->
<logger name="org.nl.acs.log.service.impl.DeviceExecuteLogServiceImpl" level="info" additivity="false">
<appender-ref ref="lokiAppender" />
</logger>
<logger name="jdbc.resultsettable" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="lokiAppender" />
</logger>
<logger name="org.openscada.opc.lib.da.Server" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="lokiAppender" />
</logger>
<!--logmanage -->
<logger name="jdbc.audit" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="jdbc.resultset" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="springfox.documentation" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="jdbc.sqlonly" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="jdbc.sqltiming" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="org.jinterop" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
</springProfile>
</configuration>

Loading…
Cancel
Save