From 767860643dac6615d0e8b74364e13fcb6a7d4a66 Mon Sep 17 00:00:00 2001
From: aoshiguchen <1052045476@qq.com>
Date: Fri, 30 Jun 2023 18:16:52 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=BF=83=E8=B7=B3=E6=97=A5?=
=?UTF-8?q?=E5=BF=97=E5=BC=80=E5=85=B3=E5=A4=84=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
neutrino-proxy-client/pom.xml | 6 +++---
.../neutrinoproxy/client/config/ProxyConfig.java | 1 +
.../neutrinoproxy/client/core/CmdChannelHandler.java | 10 +++++++++-
neutrino-proxy-client/src/main/resources/app.yml | 2 ++
.../neutrinoproxy/server/base/proxy/ProxyConfig.java | 1 +
.../server/proxy/core/ProxyTunnelChannelHandler.java | 9 +++++++++
neutrino-proxy-server/src/main/resources/app.yml | 2 ++
7 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/neutrino-proxy-client/pom.xml b/neutrino-proxy-client/pom.xml
index e9da2873..f624979f 100644
--- a/neutrino-proxy-client/pom.xml
+++ b/neutrino-proxy-client/pom.xml
@@ -32,9 +32,9 @@
${project.basedir}/src/main/resources
false
-
-
-
+
+ app-*.yml
+
diff --git a/neutrino-proxy-client/src/main/java/org/dromara/neutrinoproxy/client/config/ProxyConfig.java b/neutrino-proxy-client/src/main/java/org/dromara/neutrinoproxy/client/config/ProxyConfig.java
index ceb5a195..68aa435b 100644
--- a/neutrino-proxy-client/src/main/java/org/dromara/neutrinoproxy/client/config/ProxyConfig.java
+++ b/neutrino-proxy-client/src/main/java/org/dromara/neutrinoproxy/client/config/ProxyConfig.java
@@ -41,6 +41,7 @@ public class ProxyConfig {
private Integer threadCount;
private String clientId;
private Boolean transferLogEnable;
+ private Boolean heartbeatLogEnable;
private Reconnection reconnection;
}
diff --git a/neutrino-proxy-client/src/main/java/org/dromara/neutrinoproxy/client/core/CmdChannelHandler.java b/neutrino-proxy-client/src/main/java/org/dromara/neutrinoproxy/client/core/CmdChannelHandler.java
index b6bceee0..decd5c0b 100644
--- a/neutrino-proxy-client/src/main/java/org/dromara/neutrinoproxy/client/core/CmdChannelHandler.java
+++ b/neutrino-proxy-client/src/main/java/org/dromara/neutrinoproxy/client/core/CmdChannelHandler.java
@@ -1,5 +1,6 @@
package org.dromara.neutrinoproxy.client.core;
+import org.dromara.neutrinoproxy.client.config.ProxyConfig;
import org.dromara.neutrinoproxy.client.util.ProxyUtil;
import org.dromara.neutrinoproxy.core.Constants;
import org.dromara.neutrinoproxy.core.ProxyMessage;
@@ -19,11 +20,18 @@ import org.noear.solon.Solon;
*/
@Slf4j
public class CmdChannelHandler extends SimpleChannelInboundHandler {
+ private static volatile Boolean transferLogEnable = Boolean.FALSE;
+ public CmdChannelHandler() {
+ ProxyConfig proxyConfig = Solon.context().getBean(ProxyConfig.class);
+ if (null != proxyConfig.getClient() && null != proxyConfig.getClient().getHeartbeatLogEnable()) {
+ transferLogEnable = proxyConfig.getClient().getHeartbeatLogEnable();
+ }
+ }
@Override
protected void channelRead0(ChannelHandlerContext ctx, ProxyMessage proxyMessage) throws Exception {
- if (ProxyMessage.TYPE_HEARTBEAT != proxyMessage.getType()) {
+ if (ProxyMessage.TYPE_HEARTBEAT != proxyMessage.getType() || transferLogEnable) {
log.debug("Client CmdChannel recieved proxy message, type is {}", proxyMessage.getType());
}
Solon.context().getBean(Dispatcher.class).dispatch(ctx, proxyMessage);
diff --git a/neutrino-proxy-client/src/main/resources/app.yml b/neutrino-proxy-client/src/main/resources/app.yml
index 86eb7ef3..23072516 100644
--- a/neutrino-proxy-client/src/main/resources/app.yml
+++ b/neutrino-proxy-client/src/main/resources/app.yml
@@ -33,6 +33,8 @@ neutrino:
client-id: ${CLIENT_ID:}
# 是否开启隧道传输报文日志(日志级别为debug时开启才有效)
transfer-log-enable: ${CLIENT_LOG:false}
+ # 是否开启心跳日志
+ heartbeat-log-enable: ${HEARTBEAT_LOG:false}
# 重连设置
reconnection:
# 重连间隔(秒)
diff --git a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/base/proxy/ProxyConfig.java b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/base/proxy/ProxyConfig.java
index e3176b03..928db99f 100644
--- a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/base/proxy/ProxyConfig.java
+++ b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/base/proxy/ProxyConfig.java
@@ -62,6 +62,7 @@ public class ProxyConfig {
private String keyManagerPassword;
private String jksPath;
private Boolean transferLogEnable;
+ private Boolean heartbeatLogEnable;
}
}
diff --git a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/proxy/core/ProxyTunnelChannelHandler.java b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/proxy/core/ProxyTunnelChannelHandler.java
index ba7e19b0..21c800d5 100644
--- a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/proxy/core/ProxyTunnelChannelHandler.java
+++ b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/proxy/core/ProxyTunnelChannelHandler.java
@@ -25,6 +25,7 @@ package org.dromara.neutrinoproxy.server.proxy.core;
import org.dromara.neutrinoproxy.core.Constants;
import org.dromara.neutrinoproxy.core.ProxyMessage;
import org.dromara.neutrinoproxy.core.dispatcher.Dispatcher;
+import org.dromara.neutrinoproxy.server.base.proxy.ProxyConfig;
import org.dromara.neutrinoproxy.server.constant.ClientConnectTypeEnum;
import org.dromara.neutrinoproxy.server.constant.SuccessCodeEnum;
import org.dromara.neutrinoproxy.server.dal.entity.ClientConnectRecordDO;
@@ -49,13 +50,21 @@ import java.util.Date;
@Slf4j
public class ProxyTunnelChannelHandler extends SimpleChannelInboundHandler {
private static volatile Dispatcher dispatcher;
+ private static volatile Boolean transferLogEnable = Boolean.FALSE;
public ProxyTunnelChannelHandler() {
dispatcher = Solon.context().getBean(Dispatcher.class);
+ ProxyConfig proxyConfig = Solon.context().getBean(ProxyConfig.class);
+ if (null != proxyConfig.getTunnel() && null != proxyConfig.getTunnel().getHeartbeatLogEnable()) {
+ transferLogEnable = proxyConfig.getTunnel().getHeartbeatLogEnable();
+ }
}
@Override
protected void channelRead0(ChannelHandlerContext ctx, ProxyMessage proxyMessage) throws Exception {
+ if (ProxyMessage.TYPE_HEARTBEAT != proxyMessage.getType() || transferLogEnable) {
+ log.debug("Server CmdChannel recieved proxy message, type is {}", proxyMessage.getType());
+ }
dispatcher.dispatch(ctx, proxyMessage);
}
diff --git a/neutrino-proxy-server/src/main/resources/app.yml b/neutrino-proxy-server/src/main/resources/app.yml
index b11d0448..99082f24 100644
--- a/neutrino-proxy-server/src/main/resources/app.yml
+++ b/neutrino-proxy-server/src/main/resources/app.yml
@@ -32,6 +32,8 @@ neutrino:
jks-path: ${JKS_PATH:classpath:/test.jks}
# 是否开启隧道传输报文日志(日志级别为debug时开启才有效)
transfer-log-enable: ${TUNNEL_LOG:false}
+ # 是否开启心跳日志
+ heartbeat-log-enable: ${HEARTBEAT_LOG:false}
server:
# 线程池相关配置,用于技术调优,可忽略
boss-thread-count: 5