diff --git a/broker/src/main/java/org/apache/rocketmq/broker/BrokerStartup.java b/broker/src/main/java/org/apache/rocketmq/broker/BrokerStartup.java
index 32c79febc6d..26b61ee0421 100644
--- a/broker/src/main/java/org/apache/rocketmq/broker/BrokerStartup.java
+++ b/broker/src/main/java/org/apache/rocketmq/broker/BrokerStartup.java
@@ -37,6 +37,7 @@
import org.apache.rocketmq.logging.org.slf4j.Logger;
import org.apache.rocketmq.logging.org.slf4j.LoggerFactory;
import org.apache.rocketmq.remoting.netty.NettyClientConfig;
+import org.slf4j.bridge.SLF4JBridgeHandler;
import org.apache.rocketmq.remoting.netty.NettyServerConfig;
import org.apache.rocketmq.remoting.protocol.RemotingCommand;
import org.apache.rocketmq.srvutil.ServerUtil;
@@ -49,6 +50,10 @@ public class BrokerStartup {
public static final SystemConfigFileHelper CONFIG_FILE_HELPER = new SystemConfigFileHelper();
public static void main(String[] args) {
+ // Bridge java.util.logging to SLF4J
+ SLF4JBridgeHandler.removeHandlersForRootLogger();
+ SLF4JBridgeHandler.install();
+
start(createBrokerController(args));
}
diff --git a/namesrv/pom.xml b/namesrv/pom.xml
index ad36af7fd74..255b326893a 100644
--- a/namesrv/pom.xml
+++ b/namesrv/pom.xml
@@ -48,6 +48,10 @@
${project.groupId}
rocketmq-srvutil
+
+ org.slf4j
+ jul-to-slf4j
+
org.openjdk.jmh
jmh-core
diff --git a/namesrv/src/main/java/org/apache/rocketmq/namesrv/NamesrvStartup.java b/namesrv/src/main/java/org/apache/rocketmq/namesrv/NamesrvStartup.java
index 23d09062165..5e7d55fb82c 100644
--- a/namesrv/src/main/java/org/apache/rocketmq/namesrv/NamesrvStartup.java
+++ b/namesrv/src/main/java/org/apache/rocketmq/namesrv/NamesrvStartup.java
@@ -40,6 +40,7 @@
import org.apache.rocketmq.logging.org.slf4j.LoggerFactory;
import org.apache.rocketmq.srvutil.ServerUtil;
import org.apache.rocketmq.srvutil.ShutdownHookThread;
+import org.slf4j.bridge.SLF4JBridgeHandler;
public class NamesrvStartup {
@@ -52,6 +53,10 @@ public class NamesrvStartup {
private static ControllerConfig controllerConfig = null;
public static void main(String[] args) {
+ // Bridge java.util.logging to SLF4J
+ SLF4JBridgeHandler.removeHandlersForRootLogger();
+ SLF4JBridgeHandler.install();
+
main0(args);
controllerManagerMain();
}
diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/ProxyStartup.java b/proxy/src/main/java/org/apache/rocketmq/proxy/ProxyStartup.java
index 131faffa38e..bf66d7509fc 100644
--- a/proxy/src/main/java/org/apache/rocketmq/proxy/ProxyStartup.java
+++ b/proxy/src/main/java/org/apache/rocketmq/proxy/ProxyStartup.java
@@ -47,6 +47,7 @@
import org.apache.rocketmq.proxy.service.cert.TlsCertificateManager;
import org.apache.rocketmq.remoting.protocol.RemotingCommand;
import org.apache.rocketmq.srvutil.ServerUtil;
+import org.slf4j.bridge.SLF4JBridgeHandler;
import java.util.Date;
import java.util.List;
@@ -65,6 +66,10 @@ public void appendStartAndShutdown(StartAndShutdown startAndShutdown) {
}
public static void main(String[] args) {
+ // Bridge java.util.logging to SLF4J
+ SLF4JBridgeHandler.removeHandlersForRootLogger();
+ SLF4JBridgeHandler.install();
+
try {
// parse argument from command line
CommandLineArgument commandLineArgument = parseCommandLineArgument(args);