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