init project

This commit is contained in:
ldj_willow
2022-08-06 10:30:56 +08:00
parent d7d5ced485
commit e5bb0f9480
28 changed files with 173 additions and 642 deletions

View File

@@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>hl_one_acs</artifactId>
<artifactId>yy_acs</artifactId>
<groupId>org.nl</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
@@ -37,11 +37,6 @@
<version>2.5.14</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.openscada.utgard</groupId>
<artifactId>org.openscada.opc.lib</artifactId>

View File

@@ -3,25 +3,15 @@ package org.nl.acs.log.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.acs.log.service.LogServer;
import org.nl.acs.log.service.dto.DeviceLogDto;
import org.nl.acs.log.service.dto.LogDto;
import org.nl.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
@@ -33,38 +23,13 @@ import java.util.Map;
@RequiredArgsConstructor
@Slf4j
public class LogServerImpl implements LogServer {
@Autowired
private MongoTemplate mongoTemplate;
;
@Override
public Object queryAll(Map whereJson, Pageable page) {
String blurry = (String) whereJson.get("blurry");
String begin_time = (String) whereJson.get("begin_time");
String end_time = (String) whereJson.get("end_time");
Query query = new Query().with(Sort.by("create_time"));
if (StrUtil.isNotEmpty(blurry)) {
query.addCriteria(Criteria.where("method").is(blurry).regex("^.*" + blurry + ".*$"));
}
if (StrUtil.isNotEmpty(begin_time) && StrUtil.isNotEmpty(end_time)) {
query.addCriteria(Criteria.where("create_time")
.gte(begin_time)
.lte(end_time));
}
//根据条件得到的总条数
long totalSize = mongoTemplate.count(query, LogDto.class,"interface_log");
//处理分页
query.skip(page.getPageNumber()).limit(page.getPageSize());
List<LogDto> list = mongoTemplate.find(query,LogDto.class, "interface_log");
//封装前端分页查询结果
JSONObject result = new JSONObject();
result.put("content", list);
result.put("totalElements", totalSize);
return result;
}
@@ -88,81 +53,20 @@ public class LogServerImpl implements LogServer {
logDto.setUpdate_time(now);
logDto.setCreate_time(now);
mongoTemplate.save(logDto,"interface_log");
}
@Override
public void deviceLog(String device_code,String key, String value, String field_desc) {
String now = DateUtil.now();
DeviceLogDto dto;
Query query = new Query(Criteria
.where("device_code").is(device_code)
.and("key").is(key)
);
List<DeviceLogDto> deviceList = mongoTemplate.find(query, DeviceLogDto.class,"device_log");
if (ObjectUtil.isEmpty(deviceList)) {
JSONObject json = new JSONObject();
json.put("device_code",device_code);
json.put("key",key);
json.put("value",value);
json.put("update_time",now);
json.put("field_desc",field_desc);
mongoTemplate.save(json,"device_log");
} else {
for (int i = 0; i < deviceList.size(); i++) {
dto = deviceList.get(i);
Update update = new Update();
update.set("device_code",dto.getDevice_code());
update.set("key",dto.getKey());
update.set("value",value);
update.set("update_time",now);
mongoTemplate.upsert(query, update, "device_log");
}
}
}
@Override
public void deviceLog(String device_code,String key, String value) {
String now = DateUtil.now();
DeviceLogDto dto;
Query query = new Query(Criteria
.where("device_code").is(device_code)
.and("key").is(key)
);
List<DeviceLogDto> deviceList = mongoTemplate.find(query, DeviceLogDto.class,"device_log");
if (ObjectUtil.isEmpty(deviceList)) {
JSONObject json = new JSONObject();
json.put("device_code",device_code);
json.put("key",key);
json.put("value",value);
json.put("update_time",now);
mongoTemplate.save(json,"device_log");
} else {
for (int i = 0; i < deviceList.size(); i++) {
dto = deviceList.get(i);
Update update = new Update();
update.set("device_code",dto.getDevice_code());
update.set("key",dto.getKey());
update.set("value",value);
update.set("update_time",now);
mongoTemplate.upsert(query, update, "device_log");
}
}
}
@Override
public void deviceLogToacs(String device_code, String vehicle_code, String inst_code, String message) {
String now = DateUtil.now();
JSONObject json = new JSONObject();
json.put("device_code",device_code);
json.put("vehicle_code",vehicle_code);
json.put("inst_code",inst_code);
json.put("message",message);
json.put("create_time",now);
mongoTemplate.save(json,device_code);
}
}

View File

@@ -1,33 +0,0 @@
package org.nl.modules.log;
import org.slf4j.Marker;
import org.slf4j.MarkerFactory;
public enum LogMarkerTypeEnum {
DEFAULT("default", "默认日志"),
REQUEST("request", "请求日志"),
QUARTZ("quartz", "定时器日志"),
DEVICE_EXECUTE("device_execute", "设备执行日志"),
AGV_TASK_STATUS("agv_task_status", "agv任务状态日志"),
AGV_FEEDBACK_SERVLET("agv_feedback_servlet", "反馈AGV请求"),
AGV_LEAVE_SERVLET("agv_leave_servlet", "AGV请求离开"),
ACS_TO_ERP("acs_to_erp", "ACS请求ERP"),
ACS_TO_WMS("acs_to_wms", "ACS请求WMS"),
AUTO_CREATE_INST("auto_create_inst", "自动创建指令"),
NDC_SOCKET_CONNECTION_AUTORUN("ndc_socket_connection_autorun", "NDC自动连接"),
XZ_AGV_TASK_STATUS("xz_agv_task_status", "仙知AGV指令状态"),
WMS_TO_ACS("wms_to_acs", "WMS下发ACS");
// 成员变量
private String name;
private String code;
// 构造方法
private LogMarkerTypeEnum(String code, String name) {
this.code = code;
this.name = name;
}
public static Marker getMarker(LogMarkerTypeEnum logType) {
return MarkerFactory.getMarker(logType.code);
}
}

View File

@@ -1,9 +0,0 @@
package org.nl.modules.log;
import org.slf4j.Marker;
import org.slf4j.MarkerFactory;
public class LogMarkerUtil {
private static final Marker MARKER = MarkerFactory.getMarker("test_marker");
}

View File

@@ -1,59 +0,0 @@
package org.nl.modules.log;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.UnsynchronizedAppenderBase;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.mongodb.*;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import lombok.Data;
import org.bson.Document;
import org.nl.utils.SpringContextHolder;
import org.slf4j.Marker;
import org.springframework.data.mongodb.core.MongoTemplate;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Collections;
/**
* https://www.cnblogs.com/lzghyh/p/14913230.html
* https://juejin.cn/post/6844903488896385037
* https://cloud.tencent.com/developer/article/1384035
* https://www.freesion.com/article/229560377/
* <p>
* https://cloud.tencent.com/developer/article/1384035
*/
@Data
public class MongoDBAppenderBase<E> extends UnsynchronizedAppenderBase<ILoggingEvent> {
@Override
protected void append(ILoggingEvent eventObject) {
MongoTemplate mongoTemplate = SpringContextHolder.getBean(MongoTemplate.class);
if (mongoTemplate != null) {
final BasicDBObject doc = new BasicDBObject();
Marker marker = eventObject.getMarker();
if (!ObjectUtil.isEmpty(marker)) {
doc.append("marker", marker.getName());
} else {
doc.append("marker", "default");
}
try {
doc.append("ip", InetAddress.getLocalHost().getHostAddress());
} catch (UnknownHostException e) {
e.printStackTrace();
}
doc.append("level", eventObject.getLevel().toString());
doc.append("logger", eventObject.getLoggerName());
doc.append("thread", eventObject.getThreadName());
doc.append("message", eventObject.getFormattedMessage());
mongoTemplate.insert(doc, "log");
}
}
}

View File

@@ -1,55 +0,0 @@
package org.nl.modules.log.rest;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.annotation.Log;
import org.nl.modules.log.service.RootLogService;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.text.ParseException;
import java.util.Map;
/**
* @author ldjun
* @date 2021-08-19
**/
@RestController
@RequiredArgsConstructor
@Api(tags = "系统日志")
@RequestMapping("/api/rootLog")
@Slf4j
public class RootLogController {
private final RootLogService rootLogService;
@GetMapping
@Log("查询系统日志")
@ApiOperation("查询系统日志")
//@PreAuthorize("@el.check('point:list')")
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page) {
return new ResponseEntity<>(rootLogService.queryAll(whereJson, page), HttpStatus.OK);
}
@GetMapping("/deviceLog")
@Log("查询设备日志")
@ApiOperation("查询设备日志")
//@PreAuthorize("@el.check('log:list')")
public ResponseEntity<Object> queryDeviceLog(@RequestParam Map whereJson, Pageable page) throws ParseException {
return new ResponseEntity<>(rootLogService.queryDeviceLog(whereJson, page), HttpStatus.OK);
}
@PostMapping( "/error")
@Log("查询异常详情")
@ApiOperation("查询异常详情")
public ResponseEntity<Object> findError(@RequestBody Map whereJson) {
return new ResponseEntity<>(rootLogService.findError(whereJson), HttpStatus.OK);
}
}

View File

@@ -1,36 +0,0 @@
package org.nl.modules.log.service;
import org.springframework.data.domain.Pageable;
import java.text.ParseException;
import java.util.Map;
/**
* 系统日志查询
*/
public interface RootLogService {
/**
* 查询数据分页
* @param whereJson 条件
* @param page 分页参数
* @return Map<String,Object>
*/
Map<String,Object> queryAll(Map whereJson, Pageable page);
/**
* 查询设备日志
*
* @param whereJson 条件
* @param page 分页参数
* @return Map<String, Object>
*/
Map<String,Object> queryDeviceLog(Map whereJson, Pageable page) throws ParseException;
/**
* 查询异常详情
*
* @param whereJson
* @return Log
*/
String findError(Map whereJson);
}

View File

@@ -1,119 +0,0 @@
package org.nl.modules.log.service.impl;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.acs.device.service.DeviceService;
import org.nl.modules.log.service.RootLogService;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* @author ldjun
* @description 服务实现
* @date 2021-08-19
**/
@Service
@RequiredArgsConstructor
@Slf4j
public class RootLogServiceImpl implements RootLogService {
private final MongoTemplate mongoTemplate;
private final DeviceService deviceService;
@Override
public Map<String, Object> queryAll(Map whereJson, Pageable page){
String log_type = (String) whereJson.get("log_type");
String log_level = (String) whereJson.get("log_level");
String begin_time = (String) whereJson.get("begin_time");
String end_time = (String) whereJson.get("end_time");
Query query = new Query().with(Sort.by(Sort.Order.desc("date")));
if (StrUtil.isEmpty(log_type)) {
log_type = "default";
}
if (StrUtil.isNotEmpty(log_level)){
query.addCriteria(Criteria.where("level").is(log_level));
}
if (StrUtil.isNotEmpty(begin_time) && StrUtil.isNotEmpty(end_time)) {
query.addCriteria(Criteria.where("date")
.gte(begin_time)
.lte(end_time));
}
query.with(Sort.by("date"));
//根据条件得到的总条数
long totalSize = mongoTemplate.count(query, Map.class, log_type);
//处理分页
query.skip(page.getPageNumber()).limit(page.getPageSize());
List<Map> list = mongoTemplate.find(query,Map.class, log_type);
//封装前端分页查询结果
JSONObject result = new JSONObject();
result.put("content", list);
result.put("totalElements", totalSize);
return result;
}
@Override
public Map<String, Object> queryDeviceLog(Map whereJson, Pageable page){
String device_code = (String) whereJson.get("device_code");
String begin_time = (String) whereJson.get("begin_time");
String end_time = (String) whereJson.get("end_time");
String error_info = (String) whereJson.get("error_info");
Query query = new Query();
query.with(Sort.by(Sort.Order.desc("create_time")));
if (StrUtil.isEmpty(device_code)) {
JSONArray array = deviceService.selectList();
JSONObject json = array.getJSONObject(0);
device_code = json.getString("device_code");
}
if (StrUtil.isNotEmpty(error_info)){
query.addCriteria(Criteria.where("message").regex(error_info));
}
if (StrUtil.isNotEmpty(begin_time) && StrUtil.isNotEmpty(end_time)) {
query.addCriteria(Criteria.where("create_time")
.gte(begin_time)
.lte(end_time));
}
//根据条件得到的总条数
long totalSize = mongoTemplate.count(query, Map.class, device_code);
//处理分页
query.skip(page.getPageNumber()).limit(page.getPageSize());
List<Map> list = mongoTemplate.find(query,Map.class, device_code);
//封装前端分页查询结果
JSONObject result = new JSONObject();
result.put("content", list);
result.put("totalElements", totalSize);
return result;
}
@Override
public String findError(Map map) {
String message = (String) map.get("message");
// String marker = (String) map.get("marker");
// Query query = Query.query(Criteria.where("_id").is(id)).with(Sort.by("date"));
// JSONObject list = mongoTemplate.findOne(query,JSONObject.class,marker);
// return list.getString("message");
return message;
}
}

View File

@@ -1,40 +0,0 @@
package org.nl.modules.quartz.task;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.wql.core.bean.WQLObject;
import org.springframework.stereotype.Component;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
* @author geng by
* 自动清理大于十五天的日志
*/
@Slf4j
@Component
@RequiredArgsConstructor
public class AutoCleanUpLogs {
private ExecutorService threadPool = Executors.newCachedThreadPool();
public void run() throws Exception {
try {
WQLObject wo = WQLObject.getWQLObject("acs_device");
JSONArray array = wo.query("1=1", "device_code").getResultJSONArray(0);
if (array.size() > 0) {
for (int i = 0; i < array.size(); i++) {
JSONObject jsonObject = array.getJSONObject(i);
String device_code = jsonObject.getString("device_code");
threadPool.execute(new CleanUpThread(device_code));
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

View File

@@ -4,24 +4,19 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.nl.acs.config.AcsConfig;
import org.nl.acs.config.server.AcsConfigService;
import org.nl.acs.instruction.service.InstructionService;
import org.nl.acs.instruction.service.dto.Instruction;
import org.nl.acs.opc.Device;
import org.nl.acs.opc.DeviceAppService;
import org.nl.acs.opc.DeviceAppServiceImpl;
import org.nl.acs.route.service.RouteLineService;
import org.nl.acs.task.service.TaskService;
import org.nl.acs.task.service.dto.TaskDto;
import org.nl.modules.log.LogMarkerTypeEnum;
import org.nl.modules.system.util.CodeUtil;
import org.nl.utils.SpringContextHolder;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
/**

View File

@@ -7,26 +7,19 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.nl.acs.config.AcsConfig;
import org.nl.acs.config.server.AcsConfigService;
import org.nl.acs.device_driver.basedriver.lamp_three_color.LampThreecolorDeviceDriver;
import org.nl.acs.device_driver.basedriver.standard_inspect_site.StandardInspectSiteDeviceDriver;
import org.nl.acs.device_driver.basedriver.standard_ordinary_site.StandardOrdinarySiteDeviceDriver;
import org.nl.acs.instruction.service.InstructionService;
import org.nl.acs.instruction.service.dto.Instruction;
import org.nl.acs.opc.Device;
import org.nl.acs.opc.DeviceAppService;
import org.nl.acs.opc.DeviceAppServiceImpl;
import org.nl.acs.route.service.RouteLineService;
import org.nl.acs.route.service.dto.RouteLineDto;
import org.nl.acs.task.enums.TaskTypeEnum;
import org.nl.acs.task.service.TaskService;
import org.nl.acs.task.service.dto.TaskDto;
import org.nl.modules.log.LogMarkerTypeEnum;
import org.nl.modules.system.util.CodeUtil;
import org.nl.utils.SpringContextHolder;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@@ -169,7 +162,7 @@ public class AutoCreateAGVTwoInst {
if(ObjectUtils.isNotEmpty(list.get(i))){
list.remove(i);
}
log.info(LogMarkerTypeEnum.getMarker(LogMarkerTypeEnum.AUTO_CREATE_INST),"任务号:{}的指令生成成功",taskcode);
log.info("任务号:{}的指令生成成功",taskcode);
//创建指令后修改任务状态
acsTask.setTask_status("1");
acsTask.setLink_num(link_no);

View File

@@ -1,40 +0,0 @@
package org.nl.modules.quartz.task;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import org.nl.utils.SpringContextHolder;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import java.util.Date;
/**
* @author: geng by
* @createDate: 2022/7/12
*/
public class CleanUpThread extends Thread{
private String deviceCode;
public CleanUpThread(String deviceCode){
this.deviceCode = deviceCode;
}
@Override
public void run() {
MongoTemplate mongoTemplate = SpringContextHolder.getBean(MongoTemplate.class);
Date now = DateUtil.parse(DateUtil.now());
DateTime bzdate;
if (deviceCode.equals("BZ01") || deviceCode.equals("BZ02")){
bzdate = DateUtil.offsetDay(now, -3);
} else {
bzdate = DateUtil.offsetDay(now, -15);
}
String formatbz = DateUtil.formatDateTime(bzdate);
Query bzquery = new Query().addCriteria(Criteria.where("create_time").lte(formatbz));
System.out.println(deviceCode+"设备日志开始清除---------------------");
mongoTemplate.remove(bzquery, deviceCode);
System.out.println(deviceCode+"设备日志清除成功---------------------");
}
}

View File

@@ -57,11 +57,6 @@ spring:
wall:
config:
multi-statement-alagvslow: true
data:
mongodb:
host: 47.111.78.178
port: 27017
database: nlacs
redis:
#数据库索引
database: ${REDIS_DB:10}

View File

@@ -57,11 +57,6 @@ spring:
wall:
config:
multi-statement-alagvslow: true
data:
mongodb:
host: 192.168.46.225
port: 27017
database: nlacs
redis:
#数据库索引
database: ${REDIS_DB:0}

View File

@@ -55,11 +55,6 @@ spring:
wall:
config:
multi-statement-alagvslow: true
data:
mongodb:
host: 47.97.157.227
port: 27017
database: nlacs
redis:
#数据库索引
database: ${REDIS_DB:0}

View File

@@ -1,14 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<included>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<appender name="acs_to_erp" class="org.nl.modules.log.MongoDBAppenderBase">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>info</level>
</filter>
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILE7" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_HOME}/ACS请求ERP/%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>
<!-- 打印sql -->
<logger name=" org.nl.acs.ext.erp.service.impl.AcsToErpServiceImpl" level="info" additivity="false">
<appender-ref ref="acs_to_erp"/>
<appender-ref ref="FILE7"/>
</logger>
</included>

View File

@@ -1,14 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<included>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<appender name="acs_to_wms" class="org.nl.modules.log.MongoDBAppenderBase">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>info</level>
</filter>
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILE" 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>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>
<!-- 打印sql -->
<logger name="org.nl.acs.ext.wms.service.impl.AcsToWmsServiceImpl" level="info" additivity="false">
<appender-ref ref="acs_to_wms"/>
<appender-ref ref="FILE"/>
</logger>
</included>

View File

@@ -1,13 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<included>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<appender name="agv_feedback_servlet" class="org.nl.modules.log.MongoDBAppenderBase">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>info</level>
</filter>
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILE" 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>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>
<!-- 打印sql -->
<logger name="org.nl.acs.agv.server.impl.AgvServiceImpl" level="info" additivity="false">
<appender-ref ref="agv_feedback_servlet"/>
<appender-ref ref="FILE"/>
</logger>
</included>

View File

@@ -1,15 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<included>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<appender name="agv_leave_servlet" class="org.nl.modules.log.MongoDBAppenderBase">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>info</level>
</filter>
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILE" 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>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>
<!-- 打印sql -->
<logger name="org.nl.acs.device_driver.electric_fence.ItemProtocol" level="info" additivity="false">
<appender-ref ref="agv_leave_servlet"/>
<appender-ref ref="FILE"/>
</logger>
</included>

View File

@@ -1,13 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<included>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<appender name="auto_create_inst" class="org.nl.modules.log.MongoDBAppenderBase">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>info</level>
</filter>
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILE" 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>
<!-- 打印sql -->
<logger name="org.nl.modules.quartz.task1.AutoCreateInst" level="info" additivity="false">
<appender-ref ref="auto_create_inst"/>
<appender-ref ref="FILE"/>
</logger>
</included>

View File

@@ -1,14 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<included>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<appender name="ndc_socket_connection_autorun" class="org.nl.modules.log.MongoDBAppenderBase">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>info</level>
</filter>
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_HOME}/NDC自动连接/%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>
<!-- 打印sql -->
<logger name="org.nl.start.auto.run.NDCSocketConnectionAutoRun" level="info" additivity="false">
<appender-ref ref="ndc_socket_connection_autorun"/>
<appender-ref ref="FILE"/>
</logger>
</included>

View File

@@ -1,12 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<included>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<appender name="agv_task_status" class="org.nl.modules.log.MongoDBAppenderBase">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>info</level>
</filter>
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILE" 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>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.modules.quartz.task.QueryMagicAgvTaskStatus" level="info" additivity="false">
<appender-ref ref="agv_task_status"/>
<appender-ref ref="FILE"/>
</logger>
</included>

View File

@@ -1,12 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<included>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<appender name="xz_agv_task_status" class="org.nl.modules.log.MongoDBAppenderBase">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>info</level>
</filter>
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILE" 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>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.modules.quartz.task1.QueryXZAgvTaskStatus" level="info" additivity="false">
<appender-ref ref="xz_agv_task_status"/>
<appender-ref ref="FILE"/>
</logger>
</included>

View File

@@ -1,16 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<included>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<appender name="wms_to_acs" class="org.nl.modules.log.MongoDBAppenderBase">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>info</level>
</filter>
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILE" 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>
</appender>
<!-- 打印sql -->
<logger name="org.nl.acs.ext.wms.service.impl.WmsToAcsServiceImpl" level="info" additivity="false">
<appender-ref ref="wms_to_acs"/>
<logger name="org.nl.acs.device_driver.electric_fence.ItemProtocol" level="info" additivity="false">
<appender-ref ref="FILE"/>
</logger>
<!--<logger name="org.nl.acs.device_driver.electric_fence.ItemProtocol" level="info" additivity="false">
<appender-ref ref="wms_to_acs"/>
</logger>-->
</included>

View File

@@ -56,13 +56,6 @@ https://juejin.cn/post/6844903775631572999
</encoder>-->
</appender>
<appender name="MONGO" class="org.nl.modules.log.MongoDBAppenderBase">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>info</level>
</filter>
</appender>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
@@ -96,7 +89,6 @@ https://juejin.cn/post/6844903775631572999
<springProfile name="dev">
<root level="info">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="MONGO"/>
</root>
<logger name="jdbc.audit" level="off" additivity="false">

View File

@@ -1,59 +0,0 @@
package org.nl.mongodb;
import org.springframework.data.domain.Page;
public class Test {
public Page test2(Integer currentPage, Integer pageSize, Long loanApplyId) {
/* //创建查询对象
Query query = new Query();
//设置起始数
query.skip((currentPage - 1) * pageSize);
//设置查询条数
query.limit(pageSize);
Criteria criteria = new Criteria();
criteria.where("loanApplyId").is(loanApplyId);
//查询当前页数据集合
List<ApplyLog> ApplyLogList = mongoTemplate.find(query, ApplyLog.class);
//查询总记录数
int count = (int) mongoTemplate.count(query, ApplyLog.class);
//创建分页实体对象
Page<ApplyLog> page = new Page<>();
//添加每页的集合、数据总条数、总页数
page.setRecords(ApplyLogList);
page.setSize(count);
page.setTotal(count % pageSize == 0 ? 1 : count / pageSize + 1);
return page;
*/
return null;
}
public void test() {
/* int pageNo = 1;
int pageSize = 10;
// limit限定查询2条
Query query = Query.query(Criteria.where("user").is("一灰灰blog").and("a").is("b").and("")).with(Sort.by("age")).limit(2);
//Query query = Query.query(Criteria.where("user").is("一灰灰blog")).with(Sort.by("age")).limit(2);
// Pageable pageable = PageRequest.of(page,size);
List<Map> result = mongoTemplate.find(query, Map.class, "logdb");
System.out.println("query: " + query + " | limitPageQuery " + result);
// skip()方法来跳过指定数量的数据
query = Query.query(Criteria.where("user").is("一灰灰blog")).with(Sort.by("age")).skip(2);
result = mongoTemplate.find(query, Map.class, "logdb");
System.out.println("query: " + query + " | skipPageQuery " + result);
Query query = new Query(new Criteria());
query.with(Sort.by(Sort.Direction.DESC, "time"));
mongoUtil.start(2, 2, query);
List<Teacher> teachers = mongoTemplate.find(query, Teacher.class);
long count = mongoTemplate.count(query, Teacher.class);
PageHelper pageHelper = mongoUtil.pageHelper(count, teachers);*/
}
}

View File

@@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.nl</groupId>
<artifactId>hl_one_acs</artifactId>
<artifactId>yy_acs</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>开发平台</name>