From b587ba125adcee0631bc816540779cca56f9099b Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期四, 01 二月 2024 12:03:11 +0800
Subject: [PATCH] 增加定时监测更新雷达连接状态
---
src/main/java/com/ard/alarm/radar/service/impl/ArdEquipRadarServiceImpl.java | 94 ++--
src/main/java/com/ard/utils/netty/tcp/ClientInitialize.java | 292 ++++++++-------
src/main/java/com/ard/alarm/radar/domain/ArdEquipRadar.java | 151 ++++---
src/main/resources/logback-spring.xml | 370 +++++++++---------
src/main/resources/application-dev.yml | 4
src/main/resources/application-prod.yml | 150 ++++---
src/main/java/com/ard/alarm/radar/service/IArdEquipRadarService.java | 51 +-
src/main/resources/application.yml | 6
8 files changed, 583 insertions(+), 535 deletions(-)
diff --git a/src/main/java/com/ard/alarm/radar/domain/ArdEquipRadar.java b/src/main/java/com/ard/alarm/radar/domain/ArdEquipRadar.java
index 1bcadef..b085183 100644
--- a/src/main/java/com/ard/alarm/radar/domain/ArdEquipRadar.java
+++ b/src/main/java/com/ard/alarm/radar/domain/ArdEquipRadar.java
@@ -1,75 +1,76 @@
-package com.ard.alarm.radar.domain;
-
-import java.util.Date;
-
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import lombok.Data;
-
-/**
- * radar瀵硅薄 ard_equip_radar
- *
- * @author zj
- * @date 2023-03-11
- */
-@Data
-public class ArdEquipRadar
-{
- private static final long serialVersionUID = 1L;
-
- /** id */
- private String id;
- /** 鍚嶇О */
- private String name;
- /** 绔彛 */
- private Integer port;
-
- /** 鎿嶄綔鍛榠d */
- private String operate;
-
- /** 鍒犻櫎鏍囪 */
- private String delFlag;
-
- /** 鐢ㄦ埛id */
- private String userId;
-
- /** 缁忓害 */
- private Double longitude;
-
- /** 缁村害 */
- private Double latitude;
-
- /** 楂樼▼ */
- private Double altitude;
-
- /** 瀹夎鏃堕棿 */
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private Date radarDate;
-
- /** 閮ㄩ棬id */
- private Long deptId;
-
- /** 淇话瑙� */
- private String pitch;
-
- /** 濉攊d */
- private String towerId;
-
- /** 濉斿悕绉� */
- @TableField(exist = false)
- private String towerName;
-
- /** 鍥惧儚瀹藉害 */
- private String imageWidth;
-
- /** 鍥惧儚楂樺害 */
- private String imageHeight;
-
- /** 鍨嬪彿 */
- private String type;
-
- /** ip */
- private String ip;
-
-
-}
+package com.ard.alarm.radar.domain;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+/**
+ * radar瀵硅薄 ard_equip_radar
+ *
+ * @author zj
+ * @date 2023-03-11
+ */
+@Data
+public class ArdEquipRadar
+{
+ private static final long serialVersionUID = 1L;
+
+ /** id */
+ private String id;
+ /** 鍚嶇О */
+ private String name;
+ /** 绔彛 */
+ private Integer port;
+
+ /** 鎿嶄綔鍛榠d */
+ private String operate;
+
+ /** 鍒犻櫎鏍囪 */
+ private String delFlag;
+
+ /** 鐢ㄦ埛id */
+ private String userId;
+
+ /** 缁忓害 */
+ private Double longitude;
+
+ /** 缁村害 */
+ private Double latitude;
+
+ /** 楂樼▼ */
+ private Double altitude;
+
+ /** 瀹夎鏃堕棿 */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date radarDate;
+
+ /** 閮ㄩ棬id */
+ private Long deptId;
+
+ /** 淇话瑙� */
+ private String pitch;
+
+ /** 濉攊d */
+ private String towerId;
+
+ /** 濉斿悕绉� */
+ @TableField(exist = false)
+ private String towerName;
+
+ /** 鍥惧儚瀹藉害 */
+ private String imageWidth;
+
+ /** 鍥惧儚楂樺害 */
+ private String imageHeight;
+
+ /** 鍨嬪彿 */
+ private String type;
+
+ /** ip */
+ private String ip;
+
+ /** 杩炴帴鐘舵�� */
+ private String state;
+}
diff --git a/src/main/java/com/ard/alarm/radar/service/IArdEquipRadarService.java b/src/main/java/com/ard/alarm/radar/service/IArdEquipRadarService.java
index 97c6b45..ba01789 100644
--- a/src/main/java/com/ard/alarm/radar/service/IArdEquipRadarService.java
+++ b/src/main/java/com/ard/alarm/radar/service/IArdEquipRadarService.java
@@ -1,22 +1,29 @@
-package com.ard.alarm.radar.service;
-
-import java.util.List;
-import com.ard.alarm.radar.domain.ArdEquipRadar;
-
-/**
- * radarService鎺ュ彛
- *
- * @author zj
- * @date 2023-03-11
- */
-public interface IArdEquipRadarService {
-
- /**
- * 鏌ヨradar鍒楄〃
- *
- * @param ardEquipRadar radar
- * @return radar闆嗗悎
- */
- public List<ArdEquipRadar> selectArdEquipRadarList(ArdEquipRadar ardEquipRadar);
- public ArdEquipRadar selectArdEquipRadarById(String radarId);
-}
\ No newline at end of file
+package com.ard.alarm.radar.service;
+
+import java.util.List;
+import com.ard.alarm.radar.domain.ArdEquipRadar;
+
+/**
+ * radarService鎺ュ彛
+ *
+ * @author zj
+ * @date 2023-03-11
+ */
+public interface IArdEquipRadarService {
+
+ /**
+ * 鏌ヨradar鍒楄〃
+ *
+ * @param ardEquipRadar radar
+ * @return radar闆嗗悎
+ */
+ public List<ArdEquipRadar> selectArdEquipRadarList(ArdEquipRadar ardEquipRadar);
+ public ArdEquipRadar selectArdEquipRadarById(String radarId);
+ /**
+ * 鏇存柊闆疯揪
+ *
+ * @param ardEquipRadar radar
+ * @return radar闆嗗悎
+ */
+ public int updateArdEquipRadar(ArdEquipRadar ardEquipRadar);
+}
diff --git a/src/main/java/com/ard/alarm/radar/service/impl/ArdEquipRadarServiceImpl.java b/src/main/java/com/ard/alarm/radar/service/impl/ArdEquipRadarServiceImpl.java
index 1cb657a..b92a697 100644
--- a/src/main/java/com/ard/alarm/radar/service/impl/ArdEquipRadarServiceImpl.java
+++ b/src/main/java/com/ard/alarm/radar/service/impl/ArdEquipRadarServiceImpl.java
@@ -1,41 +1,53 @@
-package com.ard.alarm.radar.service.impl;
-
-import java.util.List;
-
-import com.ard.alarm.external.domain.ArdEquipExternal;
-import com.ard.alarm.radar.domain.ArdEquipRadar;
-import com.ard.alarm.radar.mapper.ArdEquipRadarMapper;
-import com.ard.alarm.radar.service.IArdEquipRadarService;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-/**
- * radarService涓氬姟灞傚鐞�
- *
- * @author zj
- * @date 2023-03-11
- */
-@Service
-public class ArdEquipRadarServiceImpl implements IArdEquipRadarService {
- @Autowired
- private ArdEquipRadarMapper ardEquipRadarMapper;
-
-
- /**
- * 鏌ヨradar鍒楄〃
- *
- * @param ardEquipRadar radar
- * @return radar
- */
- @Override
- public List<ArdEquipRadar> selectArdEquipRadarList(ArdEquipRadar ardEquipRadar) {
- QueryWrapper<ArdEquipRadar> queryWrapper = new QueryWrapper<>(ardEquipRadar);
- return ardEquipRadarMapper.selectList(queryWrapper);
- }
-
- @Override
- public ArdEquipRadar selectArdEquipRadarById(String radarId) {
- return ardEquipRadarMapper.selectById(radarId);
- }
-}
+package com.ard.alarm.radar.service.impl;
+
+import java.util.List;
+
+import com.ard.alarm.external.domain.ArdEquipExternal;
+import com.ard.alarm.radar.domain.ArdEquipRadar;
+import com.ard.alarm.radar.mapper.ArdEquipRadarMapper;
+import com.ard.alarm.radar.service.IArdEquipRadarService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * radarService涓氬姟灞傚鐞�
+ *
+ * @author zj
+ * @date 2023-03-11
+ */
+@Service
+public class ArdEquipRadarServiceImpl implements IArdEquipRadarService {
+ @Resource
+ private ArdEquipRadarMapper ardEquipRadarMapper;
+
+
+ /**
+ * 鏌ヨradar鍒楄〃
+ *
+ * @param ardEquipRadar radar
+ * @return radar
+ */
+ @Override
+ public List<ArdEquipRadar> selectArdEquipRadarList(ArdEquipRadar ardEquipRadar) {
+ QueryWrapper<ArdEquipRadar> queryWrapper = new QueryWrapper<>(ardEquipRadar);
+ return ardEquipRadarMapper.selectList(queryWrapper);
+ }
+
+ @Override
+ public ArdEquipRadar selectArdEquipRadarById(String radarId) {
+ return ardEquipRadarMapper.selectById(radarId);
+ }
+ /**
+ * 鏇存柊闆疯揪
+ *
+ * @param ardEquipRadar radar
+ * @return radar
+ */
+ @Override
+ public int updateArdEquipRadar(ArdEquipRadar ardEquipRadar) {
+ return ardEquipRadarMapper.updateById(ardEquipRadar);
+ }
+}
diff --git a/src/main/java/com/ard/utils/netty/tcp/ClientInitialize.java b/src/main/java/com/ard/utils/netty/tcp/ClientInitialize.java
index b30b2b5..e66e3e8 100644
--- a/src/main/java/com/ard/utils/netty/tcp/ClientInitialize.java
+++ b/src/main/java/com/ard/utils/netty/tcp/ClientInitialize.java
@@ -1,133 +1,159 @@
-package com.ard.utils.netty.tcp;
-
-import com.ard.alarm.radar.domain.ArdEquipRadar;
-import com.ard.alarm.radar.service.IArdEquipRadarService;
-import com.ard.utils.netty.config.NettyTcpConfiguration;
-import io.netty.bootstrap.Bootstrap;
-import io.netty.channel.*;
-import io.netty.channel.nio.NioEventLoopGroup;
-import io.netty.channel.socket.SocketChannel;
-import io.netty.channel.socket.nio.NioSocketChannel;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.ApplicationArguments;
-import org.springframework.boot.ApplicationRunner;
-import org.springframework.core.annotation.Order;
-import org.springframework.stereotype.Component;
-
-import javax.annotation.Resource;
-import java.util.*;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.CopyOnWriteArraySet;
-import java.util.function.Consumer;
-
-/**
- * 瀹㈡埛绔垵濮嬪寲
- *
- * @author lijiamin
- */
-@Component
-@Slf4j(topic = "netty")
-@Order(2)
-public class ClientInitialize implements ApplicationRunner {
- @Resource
- NettyTcpConfiguration nettyTcpConfig;
- @Resource
- IArdEquipRadarService ardEquipRadarService;
-
- private Bootstrap bootstrap;
- public static CopyOnWriteArraySet<ArdEquipRadar> falseConnectSet = new CopyOnWriteArraySet();//澶辫触杩炴帴鐨勯浄杈維et
- public static ConcurrentHashMap<String, ArdEquipRadar> trueConnectMap = new ConcurrentHashMap();//鎴愬姛杩炴帴鐨刬p绔彛瀵瑰簲鐨勯浄杈�
- public static ConcurrentHashMap<String, MessageHandler> SucMessageHandlerMap = new ConcurrentHashMap();//鎴愬姛杩炴帴鐨刬p绔彛瀵瑰簲鐨勬姤鏂囪В鏋愬櫒
- public static ConcurrentHashMap<String, Channel> SucChannelMap = new ConcurrentHashMap();//鎴愬姛杩炴帴鐨刬p绔彛瀵瑰簲鐨刵etty閫氶亾
-
- /**
- * Netty鍒濆鍖栭厤缃�
- */
- public void initNettyTcp() {
- EventLoopGroup eventLoopGroup = new NioEventLoopGroup();
- bootstrap = new Bootstrap();
- bootstrap.group(eventLoopGroup)
- .channel(NioSocketChannel.class)
- .option(ChannelOption.TCP_NODELAY, true)
- .option(ChannelOption.SO_KEEPALIVE, true)
- .handler(new ChannelInitializer<SocketChannel>() {
- @Override
- protected void initChannel(SocketChannel socketChannel) {
- socketChannel.pipeline().addLast(new ClientHandler());
- }
- });
-
- //寮傛鎸佺画鐩戝惉杩炴帴澶辫触鐨勫湴鍧�
- CompletableFuture.runAsync(new Runnable() {
- @Override
- public void run() {
- while (true) {
- try {
- if (falseConnectSet.size() != 0) {
- // 寰幆闆嗗悎鍐呭厓绱�
- falseConnectSet.forEach(new Consumer<ArdEquipRadar>() {
- @Override
- public void accept(ArdEquipRadar radar) {
- connectServer(radar);
- }
- });
- }
- Thread.sleep(10000);
- } catch (Exception e) {
- log.error("Netty鍒濆鍖栭厤缃洃鍚湴鍧�鍑虹幇寮傚父");
- e.printStackTrace();
- }
- }
- }
- });
- }
-
- /**
- * 鏈嶅姟杩炴帴
- *
- * @param ardEquipRadar
- */
- public void connectServer(ArdEquipRadar ardEquipRadar) {
- // 鑾峰彇鍦板潃鍙婄鍙�
- String host = ardEquipRadar.getIp();
- Integer port = ardEquipRadar.getPort();
- String ipPort = host + ":" + port;
- // 寮傛杩炴帴tcp鏈嶅姟绔�
- bootstrap.remoteAddress(host, port).connect().addListener((ChannelFuture futureListener) -> {
- if (futureListener.isSuccess()) {
- log.debug("闆疯揪銆�" + ipPort + "銆戣繛鎺ユ垚鍔�");
- // 杩炴帴鎴愬姛淇℃伅浠嶴et鎷旈櫎
- falseConnectSet.remove(ardEquipRadar);
- // 杩炴帴鎴愬姛淇℃伅鍐欏叆map
- trueConnectMap.put(ipPort, ardEquipRadar);
- SucMessageHandlerMap.put(ipPort, new MessageHandler());
- SucChannelMap.put(ipPort, futureListener.channel());
- } else {
- log.debug("闆疯揪銆�" + ipPort + "銆戣繛鎺ュけ璐�");
- futureListener.channel().close();
- // 杩炴帴澶辫触淇℃伅鎻掑叆Set
- falseConnectSet.add(ardEquipRadar);
-
- }
- });
- }
-
- /**
- * 鍒濆鍖栨柟娉�
- */
- @Override
- public void run(ApplicationArguments args) {
- if (!nettyTcpConfig.getEnabled()) {
- return;
- }
- initNettyTcp();//鍒濆鍖杗ettyTcp
- List<ArdEquipRadar> ardEquipRadars = ardEquipRadarService.selectArdEquipRadarList(new ArdEquipRadar());
- for (ArdEquipRadar ardEquipRadar : ardEquipRadars) {
- String host = ardEquipRadar.getIp();
- Integer port = Integer.valueOf(ardEquipRadar.getPort());
- log.debug("TCP client try to connect radar銆�" + host + ":" + port + "銆�");
- connectServer(ardEquipRadar);//杩炴帴姣忎竴涓浄杈炬湇鍔�
- }
- }
-}
+package com.ard.utils.netty.tcp;
+
+import com.ard.alarm.radar.domain.ArdEquipRadar;
+import com.ard.alarm.radar.service.IArdEquipRadarService;
+import com.ard.utils.netty.config.NettyTcpConfiguration;
+import io.netty.bootstrap.Bootstrap;
+import io.netty.channel.*;
+import io.netty.channel.nio.NioEventLoopGroup;
+import io.netty.channel.socket.SocketChannel;
+import io.netty.channel.socket.nio.NioSocketChannel;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.core.annotation.Order;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.*;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.CopyOnWriteArraySet;
+import java.util.function.Consumer;
+
+/**
+ * 瀹㈡埛绔垵濮嬪寲
+ *
+ * @author lijiamin
+ */
+@Component
+@Slf4j(topic = "netty")
+@Order(2)
+public class ClientInitialize implements ApplicationRunner {
+ @Resource
+ NettyTcpConfiguration nettyTcpConfig;
+ @Resource
+ IArdEquipRadarService ardEquipRadarService;
+
+ private Bootstrap bootstrap;
+ public static CopyOnWriteArraySet<ArdEquipRadar> falseConnectSet = new CopyOnWriteArraySet();//澶辫触杩炴帴鐨勯浄杈維et
+ public static ConcurrentHashMap<String, ArdEquipRadar> trueConnectMap = new ConcurrentHashMap();//鎴愬姛杩炴帴鐨刬p绔彛瀵瑰簲鐨勯浄杈�
+ public static ConcurrentHashMap<String, MessageHandler> SucMessageHandlerMap = new ConcurrentHashMap();//鎴愬姛杩炴帴鐨刬p绔彛瀵瑰簲鐨勬姤鏂囪В鏋愬櫒
+ public static ConcurrentHashMap<String, Channel> SucChannelMap = new ConcurrentHashMap();//鎴愬姛杩炴帴鐨刬p绔彛瀵瑰簲鐨刵etty閫氶亾
+
+ /**
+ * Netty鍒濆鍖栭厤缃�
+ */
+ public void initNettyTcp() {
+ EventLoopGroup eventLoopGroup = new NioEventLoopGroup();
+ bootstrap = new Bootstrap();
+ bootstrap.group(eventLoopGroup)
+ .channel(NioSocketChannel.class)
+ .option(ChannelOption.TCP_NODELAY, true)
+ .option(ChannelOption.SO_KEEPALIVE, true)
+ .handler(new ChannelInitializer<SocketChannel>() {
+ @Override
+ protected void initChannel(SocketChannel socketChannel) {
+ socketChannel.pipeline().addLast(new ClientHandler());
+ }
+ });
+
+ //寮傛鎸佺画鐩戝惉杩炴帴澶辫触鐨勫湴鍧�
+ CompletableFuture.runAsync(new Runnable() {
+ @Override
+ public void run() {
+ while (true) {
+ try {
+ if (falseConnectSet.size() != 0) {
+ // 寰幆闆嗗悎鍐呭厓绱�
+ falseConnectSet.forEach(new Consumer<ArdEquipRadar>() {
+ @Override
+ public void accept(ArdEquipRadar radar) {
+ connectServer(radar);
+ }
+ });
+ }
+ Thread.sleep(10000);
+ } catch (Exception e) {
+ log.error("Netty鍒濆鍖栭厤缃洃鍚湴鍧�鍑虹幇寮傚父");
+ e.printStackTrace();
+ }
+ }
+ }
+ });
+ }
+
+ /**
+ * 鏈嶅姟杩炴帴
+ *
+ * @param ardEquipRadar
+ */
+ public void connectServer(ArdEquipRadar ardEquipRadar) {
+ // 鑾峰彇鍦板潃鍙婄鍙�
+ String host = ardEquipRadar.getIp();
+ Integer port = ardEquipRadar.getPort();
+ String ipPort = host + ":" + port;
+ // 寮傛杩炴帴tcp鏈嶅姟绔�
+ bootstrap.remoteAddress(host, port).connect().addListener((ChannelFuture futureListener) -> {
+ if (futureListener.isSuccess()) {
+ log.debug("闆疯揪銆�" + ipPort + "銆戣繛鎺ユ垚鍔�");
+ // 杩炴帴鎴愬姛淇℃伅浠嶴et鎷旈櫎
+ falseConnectSet.remove(ardEquipRadar);
+ // 杩炴帴鎴愬姛淇℃伅鍐欏叆map
+ trueConnectMap.put(ipPort, ardEquipRadar);
+ SucMessageHandlerMap.put(ipPort, new MessageHandler());
+ SucChannelMap.put(ipPort, futureListener.channel());
+ } else {
+ log.debug("闆疯揪銆�" + ipPort + "銆戣繛鎺ュけ璐�");
+ futureListener.channel().close();
+ // 杩炴帴澶辫触淇℃伅鎻掑叆Set
+ falseConnectSet.add(ardEquipRadar);
+
+ }
+ });
+ }
+
+ /**
+ * 鍒濆鍖栨柟娉�
+ */
+ @Override
+ public void run(ApplicationArguments args) {
+ if (!nettyTcpConfig.getEnabled()) {
+ return;
+ }
+ initNettyTcp();//鍒濆鍖杗ettyTcp
+ List<ArdEquipRadar> ardEquipRadars = ardEquipRadarService.selectArdEquipRadarList(new ArdEquipRadar());
+ for (ArdEquipRadar ardEquipRadar : ardEquipRadars) {
+ String host = ardEquipRadar.getIp();
+ Integer port = Integer.valueOf(ardEquipRadar.getPort());
+ log.debug("TCP client try to connect radar銆�" + host + ":" + port + "銆�");
+ connectServer(ardEquipRadar);//杩炴帴姣忎竴涓浄杈炬湇鍔�
+ }
+ }
+
+ /**
+ * 鐩戞祴闆疯揪杩炴帴鐘舵��
+ */
+ @Scheduled(cron = "0/5 * * * * ?")
+ public void monitorConnectStatus() {
+ log.debug("瀹氭椂鐩戞祴闆疯揪杩炴帴鐘舵��");
+ List<ArdEquipRadar> ardEquipRadars = ardEquipRadarService.selectArdEquipRadarList(new ArdEquipRadar());
+ ardEquipRadars.stream().forEach(ardEquipRadar ->{
+ if(trueConnectMap.contains(ardEquipRadar.getIp()+"_"+ardEquipRadar.getPort()))
+ {
+ if(!ardEquipRadar.getState().equals("1")) {
+ ardEquipRadar.setState("1");
+ ardEquipRadarService.updateArdEquipRadar(ardEquipRadar);
+ }
+ }
+ else
+ {
+ if(!ardEquipRadar.getState().equals("0")) {
+ ardEquipRadar.setState("0");
+ ardEquipRadarService.updateArdEquipRadar(ardEquipRadar);
+ }
+ }
+ });
+ }
+}
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index ac119ec..9203fb2 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -66,10 +66,10 @@
logging:
level:
hikSdk: info
- mqtt: debug
+ mqtt: info
netty: debug
external: info
camera: info
tube: info
digitization3: info
- stealAlarm: info
\ No newline at end of file
+ stealAlarm: info
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index 6be39a7..13649a0 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -1,75 +1,77 @@
-# 寮�鍙戠幆澧�
-server:
- port: 8088
-# spring閰嶇疆
-spring:
- servlet:
- multipart:
- enabled: true
- max-file-size: 30MB
- max-request-size: 30MB
- datasource:
- druid:
- #寮�鍚痙ruid鐩戞帶web
- stat-view-servlet:
- enabled: true
- driver-class-name: org.postgresql.Driver
- url: jdbc:postgresql://192.168.2.15:5432/ry-vue
- username: postgres
- password: postgres
- #鏈�澶ц繛鎺ユ暟
- maxActive: 30
- #鏈�灏忚繛鎺ユ暟
- minIdle: 5
- #鑾峰彇杩炴帴鐨勬渶澶х瓑寰呮椂闂�
- maxWait: 10000
- #瑙e喅mysql8灏忔椂鐨勯棶棰�
- validation-query: SELECT 'X'
- #绌洪棽杩炴帴鐨勬鏌ユ椂闂撮棿闅�
- timeBetweenEvictionRunsMillis: 60000
- #绌洪棽杩炴帴鏈�灏忕┖闂叉椂闂�
- minEvictableIdleTimeMillis: 300000
-# netty閰嶇疆
-netty:
- udp:
- port: 40000
- enabled: true
- tcp:
- enabled: true
-# mqtt閰嶇疆
-mqtt:
- host: tcp://192.168.2.15:1883
- clientId: client-2272
- username: admin
- password: admin
- timeout: 100
- keepalive: 60
- enabled: true
-# 鐩楃數鎺ュ彛鍦板潃
-stealelec:
- enabled: false
- url: http://iot.zhdk.net:8090/Warning/GetWarning?userName=cy4oil
- # 涓夊巶鏁板瓧鍖栧湴鍧�
-# 涓夊満鏁板瓧鍖�
-digitization3:
- enabled: false
-# minio閰嶇疆
-minio:
- endpoint: http://192.168.2.15:9001
- accessKey: admin
- secretKey: xzx12345
-# mybatis-plus閰嶇疆
-mybatis-plus:
- type-aliases-package: com.ard.alarm.**.domain
- mapper-locations: classpath:/mapper/*.xml
-# 鏃ュ織绛夌骇閰嶇疆
-logging:
- level:
- hikSdk: info
- mqtt: debug
- netty: info
- external: info
- camera: info
- tube: info
- digitization3: info
+# 寮�鍙戠幆澧�
+server:
+ port: 8088
+# spring閰嶇疆
+spring:
+ servlet:
+ multipart:
+ enabled: true
+ max-file-size: 30MB
+ max-request-size: 30MB
+ datasource:
+ druid:
+ #寮�鍚痙ruid鐩戞帶web
+ stat-view-servlet:
+ enabled: true
+ driver-class-name: org.postgresql.Driver
+ url: jdbc:postgresql://192.168.1.14:5432/ry-vue?stringtype=unspecified
+ username: postgres
+ password: postgres
+ #鏈�澶ц繛鎺ユ暟
+ maxActive: 30
+ #鏈�灏忚繛鎺ユ暟
+ minIdle: 5
+ #鑾峰彇杩炴帴鐨勬渶澶х瓑寰呮椂闂�
+ maxWait: 10000
+ #瑙e喅mysql8灏忔椂鐨勯棶棰�
+ validation-query: SELECT 'X'
+ #绌洪棽杩炴帴鐨勬鏌ユ椂闂撮棿闅�
+ timeBetweenEvictionRunsMillis: 60000
+ #绌洪棽杩炴帴鏈�灏忕┖闂叉椂闂�
+ minEvictableIdleTimeMillis: 300000
+# netty閰嶇疆
+netty:
+ udp:
+ port: 40000
+ enabled: true
+ tcp:
+ enabled: true
+# minio閰嶇疆
+minio:
+ endpoint: http://127.0.0.1:9001
+ accessKey: admin
+ secretKey: xzx12345
+# mqtt閰嶇疆
+mqtt:
+ host: tcp://192.168.1.14:1883
+ clientId: alarm14
+ username: admin
+ password: xzx12345
+ topic: tube
+ timeout: 100
+ keepalive: 60
+ enabled: true
+# 鐩楃數鎺ュ彛鍦板潃
+stealelec:
+ enabled: false
+ url: http://iot.zhdk.net:8090/Warning/GetWarning?userName=cy4oil
+ # 涓夊巶鏁板瓧鍖栧湴鍧�
+# 涓夊満鏁板瓧鍖�
+digitization3:
+ enabled: false
+
+# mybatis-plus閰嶇疆
+mybatis-plus:
+ type-aliases-package: com.ard.alarm.**.domain
+ mapper-locations: classpath:/mapper/*.xml
+# 鏃ュ織绛夌骇閰嶇疆
+logging:
+ level:
+ hikSdk: info
+ mqtt: info
+ netty: info
+ external: info
+ camera: info
+ tube: info
+ digitization3: info
stealAlarm: info
\ No newline at end of file
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index caf4dfc..422e915 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,3 +1,3 @@
-spring:
- profiles:
- active: dev
\ No newline at end of file
+spring:
+ profiles:
+ active: dev
diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml
index 3522a31..bd0e77a 100644
--- a/src/main/resources/logback-spring.xml
+++ b/src/main/resources/logback-spring.xml
@@ -1,185 +1,185 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration>
- <!--鏃ュ織瀛樻斁璺緞-->
- <property name="log.path" value="./logs"/>
- <!-- 鏃ュ織杈撳嚭鏍煎紡 -->
- <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>
- <!--鎺у埗鍙拌緭鍑�-->
- <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <pattern>${log.pattern}</pattern>
- </encoder>
- </appender>
- <!--绯荤粺鏃ュ織杈撳嚭-->
- <appender name="sys-info" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${log.path}/sys-info.log</file>
- <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�-->
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--鏃ュ織鏂囦欢鍚嶆牸寮�-->
- <fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
- <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�-->
- <maxHistory>60</maxHistory>
- </rollingPolicy>
- <encoder>
- <pattern>${log.pattern}</pattern>
- </encoder>
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <!--杩囨护鐨勭骇鍒�-->
- <level>INFO</level>
- <!--鍖归厤鏃剁殑鎿嶄綔锛氭帴鏀讹紙璁板綍锛�-->
- <onMatch>ACCEPT</onMatch>
- <!--涓嶅尮閰嶆椂鐨勬搷浣滐細鎷掔粷锛堜笉璁板綍锛�-->
- <onMismatch>DENY</onMismatch>
- </filter>
- </appender>
- <!--绠$嚎娉勯湶鎶ヨ鏃ュ織杈撳嚭-->
- <appender name="tube" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${log.path}/tube.log</file>
- <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�-->
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--鏃ュ織鏂囦欢鍚嶆牸寮�-->
- <fileNamePattern>${log.path}/tube.%d{yyyy-MM-dd}.log</fileNamePattern>
- <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�-->
- <maxHistory>60</maxHistory>
- </rollingPolicy>
- <encoder>
- <pattern>${log.pattern}</pattern>
- </encoder>
- </appender>
- <!--閫氱敤鍏夌數鎶ヨ鏃ュ織杈撳嚭-->
- <appender name="camera" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${log.path}/camera.log</file>
- <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�-->
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--鏃ュ織鏂囦欢鍚嶆牸寮�-->
- <fileNamePattern>${log.path}/camera.%d{yyyy-MM-dd}.log</fileNamePattern>
- <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�-->
- <maxHistory>60</maxHistory>
- </rollingPolicy>
- <encoder>
- <pattern>${log.pattern}</pattern>
- </encoder>
- </appender>
- <!--澶栬仈璁惧鎶ヨ鏃ュ織杈撳嚭-->
- <appender name="external" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${log.path}/external.log</file>
- <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�-->
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--鏃ュ織鏂囦欢鍚嶆牸寮�-->
- <fileNamePattern>${log.path}/external.%d{yyyy-MM-dd}.log</fileNamePattern>
- <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�-->
- <maxHistory>60</maxHistory>
- </rollingPolicy>
- <encoder>
- <pattern>${log.pattern}</pattern>
- </encoder>
- </appender>
- <!--Netty鏃ュ織杈撳嚭-->
- <appender name="netty" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${log.path}/netty.log</file>
- <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�-->
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--鏃ュ織鏂囦欢鍚嶆牸寮�-->
- <fileNamePattern>${log.path}/netty.%d{yyyy-MM-dd}.log</fileNamePattern>
- <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�-->
- <maxHistory>60</maxHistory>
- </rollingPolicy>
- <encoder>
- <pattern>${log.pattern}</pattern>
- </encoder>
- </appender>
- <!--mqtt鏃ュ織杈撳嚭-->
- <appender name="mqtt" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${log.path}/mqtt.log</file>
- <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�-->
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--鏃ュ織鏂囦欢鍚嶆牸寮�-->
- <fileNamePattern>${log.path}/mqtt.%d{yyyy-MM-dd}.log</fileNamePattern>
- <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�-->
- <maxHistory>60</maxHistory>
- </rollingPolicy>
- <encoder>
- <pattern>${log.pattern}</pattern>
- </encoder>
- </appender>
- <!--hikSdk鏃ュ織杈撳嚭-->
- <appender name="hikSdk" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${log.path}/hikSdk.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--鎸夊ぉ鍥炴粴daily-->
- <fileNamePattern>${log.path}/hikSdk.%d{yyyy-MM-dd}.log</fileNamePattern>
- <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�-->
- <maxHistory>60</maxHistory>
- </rollingPolicy>
- <encoder>
- <pattern>${log.pattern}</pattern>
- </encoder>
- </appender>
- <!--stealAlarm鏃ュ織杈撳嚭-->
- <appender name="stealAlarm" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${log.path}/stealAlarm.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--鎸夊ぉ鍥炴粴daily-->
- <fileNamePattern>${log.path}/stealAlarm.%d{yyyy-MM-dd}.log</fileNamePattern>
- <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�-->
- <maxHistory>60</maxHistory>
- </rollingPolicy>
- <encoder>
- <pattern>${log.pattern}</pattern>
- </encoder>
- </appender>
- <!--digitization3鏃ュ織杈撳嚭-->
- <appender name="digitization3" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${log.path}/digitization3.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--鎸夊ぉ鍥炴粴daily-->
- <fileNamePattern>${log.path}/digitization3.%d{yyyy-MM-dd}.log</fileNamePattern>
- <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�-->
- <maxHistory>60</maxHistory>
- </rollingPolicy>
- <encoder>
- <pattern>${log.pattern}</pattern>
- </encoder>
- </appender>
- <root level="DEBUG">
- <appender-ref ref="console"/>
- </root>
- <!--绯荤粺鎿嶄綔鏃ュ織-->
- <root level="INFO">
- <appender-ref ref="sys-info"/>
- </root>
-
- <!--tube鎿嶄綔鏃ュ織-->
- <logger name="tube" level="INFO">
- <appender-ref ref="tube"/>
- </logger>
- <!--camera鎿嶄綔鏃ュ織-->
- <logger name="camera" level="INFO">
- <appender-ref ref="camera"/>
- </logger>
- <!--external鎿嶄綔鏃ュ織-->
- <logger name="external" level="INFO">
- <appender-ref ref="external"/>
- </logger>
- <!--netty鎿嶄綔鏃ュ織-->
- <logger name="netty" level="INFO">
- <appender-ref ref="netty"/>
- </logger>
- <!--mqtt鎿嶄綔鏃ュ織-->
- <logger name="mqtt" level="DEBUG">
- <appender-ref ref="mqtt"/>
- </logger>
- <!--hikSdk鎿嶄綔鏃ュ織-->
- <logger name="hikSdk" level="INFO">
- <appender-ref ref="hikSdk"/>
- </logger>
- <!--digitization3鎿嶄綔鏃ュ織-->
- <logger name="digitization3" level="INFO">
- <appender-ref ref="digitization3"/>
- </logger>
- <!--stealAlarm鎿嶄綔鏃ュ織-->
- <logger name="stealAlarm" level="INFO">
- <appender-ref ref="stealAlarm"/>
- </logger>
-</configuration>
-
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+ <!--鏃ュ織瀛樻斁璺緞-->
+ <property name="log.path" value="./logs"/>
+ <!-- 鏃ュ織杈撳嚭鏍煎紡 -->
+ <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>
+ <!--鎺у埗鍙拌緭鍑�-->
+ <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <pattern>${log.pattern}</pattern>
+ </encoder>
+ </appender>
+ <!--绯荤粺鏃ュ織杈撳嚭-->
+ <appender name="sys-info" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${log.path}/sys-info.log</file>
+ <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�-->
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <!--鏃ュ織鏂囦欢鍚嶆牸寮�-->
+ <fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
+ <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�-->
+ <maxHistory>60</maxHistory>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${log.pattern}</pattern>
+ </encoder>
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <!--杩囨护鐨勭骇鍒�-->
+ <level>INFO</level>
+ <!--鍖归厤鏃剁殑鎿嶄綔锛氭帴鏀讹紙璁板綍锛�-->
+ <onMatch>ACCEPT</onMatch>
+ <!--涓嶅尮閰嶆椂鐨勬搷浣滐細鎷掔粷锛堜笉璁板綍锛�-->
+ <onMismatch>DENY</onMismatch>
+ </filter>
+ </appender>
+ <!--绠$嚎娉勯湶鎶ヨ鏃ュ織杈撳嚭-->
+ <appender name="tube" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${log.path}/tube.log</file>
+ <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�-->
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <!--鏃ュ織鏂囦欢鍚嶆牸寮�-->
+ <fileNamePattern>${log.path}/tube.%d{yyyy-MM-dd}.log</fileNamePattern>
+ <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�-->
+ <maxHistory>60</maxHistory>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${log.pattern}</pattern>
+ </encoder>
+ </appender>
+ <!--閫氱敤鍏夌數鎶ヨ鏃ュ織杈撳嚭-->
+ <appender name="camera" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${log.path}/camera.log</file>
+ <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�-->
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <!--鏃ュ織鏂囦欢鍚嶆牸寮�-->
+ <fileNamePattern>${log.path}/camera.%d{yyyy-MM-dd}.log</fileNamePattern>
+ <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�-->
+ <maxHistory>60</maxHistory>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${log.pattern}</pattern>
+ </encoder>
+ </appender>
+ <!--澶栬仈璁惧鎶ヨ鏃ュ織杈撳嚭-->
+ <appender name="external" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${log.path}/external.log</file>
+ <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�-->
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <!--鏃ュ織鏂囦欢鍚嶆牸寮�-->
+ <fileNamePattern>${log.path}/external.%d{yyyy-MM-dd}.log</fileNamePattern>
+ <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�-->
+ <maxHistory>60</maxHistory>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${log.pattern}</pattern>
+ </encoder>
+ </appender>
+ <!--Netty鏃ュ織杈撳嚭-->
+ <appender name="netty" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${log.path}/netty.log</file>
+ <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�-->
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <!--鏃ュ織鏂囦欢鍚嶆牸寮�-->
+ <fileNamePattern>${log.path}/netty.%d{yyyy-MM-dd}.log</fileNamePattern>
+ <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�-->
+ <maxHistory>60</maxHistory>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${log.pattern}</pattern>
+ </encoder>
+ </appender>
+ <!--mqtt鏃ュ織杈撳嚭-->
+ <appender name="mqtt" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${log.path}/mqtt.log</file>
+ <!--寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠�-->
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <!--鏃ュ織鏂囦欢鍚嶆牸寮�-->
+ <fileNamePattern>${log.path}/mqtt.%d{yyyy-MM-dd}.log</fileNamePattern>
+ <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�-->
+ <maxHistory>60</maxHistory>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${log.pattern}</pattern>
+ </encoder>
+ </appender>
+ <!--hikSdk鏃ュ織杈撳嚭-->
+ <appender name="hikSdk" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${log.path}/hikSdk.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <!--鎸夊ぉ鍥炴粴daily-->
+ <fileNamePattern>${log.path}/hikSdk.%d{yyyy-MM-dd}.log</fileNamePattern>
+ <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�-->
+ <maxHistory>60</maxHistory>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${log.pattern}</pattern>
+ </encoder>
+ </appender>
+ <!--stealAlarm鏃ュ織杈撳嚭-->
+ <appender name="stealAlarm" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${log.path}/stealAlarm.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <!--鎸夊ぉ鍥炴粴daily-->
+ <fileNamePattern>${log.path}/stealAlarm.%d{yyyy-MM-dd}.log</fileNamePattern>
+ <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�-->
+ <maxHistory>60</maxHistory>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${log.pattern}</pattern>
+ </encoder>
+ </appender>
+ <!--digitization3鏃ュ織杈撳嚭-->
+ <appender name="digitization3" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${log.path}/digitization3.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <!--鎸夊ぉ鍥炴粴daily-->
+ <fileNamePattern>${log.path}/digitization3.%d{yyyy-MM-dd}.log</fileNamePattern>
+ <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�-->
+ <maxHistory>60</maxHistory>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${log.pattern}</pattern>
+ </encoder>
+ </appender>
+ <root level="DEBUG">
+ <appender-ref ref="console"/>
+ </root>
+ <!--绯荤粺鎿嶄綔鏃ュ織-->
+ <root level="INFO">
+ <appender-ref ref="sys-info"/>
+ </root>
+
+ <!--tube鎿嶄綔鏃ュ織-->
+ <logger name="tube" level="INFO">
+ <appender-ref ref="tube"/>
+ </logger>
+ <!--camera鎿嶄綔鏃ュ織-->
+ <logger name="camera" level="INFO">
+ <appender-ref ref="camera"/>
+ </logger>
+ <!--external鎿嶄綔鏃ュ織-->
+ <logger name="external" level="INFO">
+ <appender-ref ref="external"/>
+ </logger>
+ <!--netty鎿嶄綔鏃ュ織-->
+ <logger name="netty" level="INFO">
+ <appender-ref ref="netty"/>
+ </logger>
+ <!--mqtt鎿嶄綔鏃ュ織-->
+ <logger name="mqtt" level="DEBUG">
+ <appender-ref ref="mqtt"/>
+ </logger>
+ <!--hikSdk鎿嶄綔鏃ュ織-->
+ <logger name="hikSdk" level="INFO">
+ <appender-ref ref="hikSdk"/>
+ </logger>
+ <!--digitization3鎿嶄綔鏃ュ織-->
+ <logger name="digitization3" level="INFO">
+ <appender-ref ref="digitization3"/>
+ </logger>
+ <!--stealAlarm鎿嶄綔鏃ュ織-->
+ <logger name="stealAlarm" level="INFO">
+ <appender-ref ref="stealAlarm"/>
+ </logger>
+</configuration>
+
--
Gitblit v1.9.3