From 506b563f55b79a9a4f82e230c6b04f9462e1e311 Mon Sep 17 00:00:00 2001 From: yukon Date: Thu, 17 Nov 2022 20:04:17 +0800 Subject: [PATCH] Revert "[ISSUE #5484] Replace Logging Module with Shaded Logback (#5524)" (#5537) This reverts commit 809ff6b3e045d6ccd0899f756822b2d7dd65f6c0. --- .gitignore | 2 +- WORKSPACE | 5 +- acl/BUILD.bazel | 2 +- acl/pom.xml | 26 +- .../apache/rocketmq/acl/common/AclSigner.java | 6 +- .../apache/rocketmq/acl/common/AclUtils.java | 6 +- .../acl/plain/PlainPermissionManager.java | 6 +- .../plain/RemoteAddressStrategyFactory.java | 6 +- .../src/test/resources/logback-test.xml | 22 +- broker/BUILD.bazel | 6 +- broker/pom.xml | 22 +- .../rocketmq/broker/BrokerController.java | 10 +- .../broker/BrokerPreOnlineService.java | 6 +- .../apache/rocketmq/broker/BrokerStartup.java | 21 +- .../client/ClientHousekeepingService.java | 6 +- .../broker/client/ConsumerGroupInfo.java | 6 +- .../broker/client/ConsumerManager.java | 6 +- .../DefaultConsumerIdsChangeListener.java | 6 +- .../broker/client/ProducerManager.java | 6 +- .../broker/client/net/Broker2Client.java | 6 +- .../rebalance/RebalanceLockManager.java | 6 +- .../broker/controller/ReplicasManager.java | 6 +- .../dledger/DLedgerRoleChangeHandler.java | 6 +- .../broker/failover/EscapeBridge.java | 6 +- .../filter/CommitLogDispatcherCalcBitMap.java | 6 +- .../broker/filter/ConsumerFilterManager.java | 6 +- .../filter/ExpressionMessageFilter.java | 6 +- .../broker/filtersrv/FilterServerManager.java | 6 +- .../broker/filtersrv/FilterServerUtil.java | 4 +- .../broker/latency/BrokerFastFailure.java | 6 +- .../LmqPullRequestHoldService.java | 6 +- .../longpolling/PullRequestHoldService.java | 6 +- .../broker/metrics/BrokerMetricsManager.java | 6 +- .../broker/metrics/ConsumerLagCalculator.java | 6 +- .../broker/offset/ConsumerOffsetManager.java | 6 +- .../offset/ConsumerOrderInfoLockManager.java | 6 +- .../offset/ConsumerOrderInfoManager.java | 6 +- .../rocketmq/broker/out/BrokerOuterAPI.java | 6 +- .../AbstractSendMessageProcessor.java | 8 +- .../broker/processor/AckMessageProcessor.java | 6 +- .../processor/AdminBrokerProcessor.java | 6 +- .../ChangeInvisibleTimeProcessor.java | 6 +- .../processor/ClientManageProcessor.java | 6 +- .../processor/ConsumerManageProcessor.java | 6 +- .../DefaultPullMessageResultHandler.java | 6 +- .../processor/EndTransactionProcessor.java | 6 +- .../processor/ForwardRequestProcessor.java | 6 +- .../processor/NotificationProcessor.java | 6 +- .../processor/PeekMessageProcessor.java | 6 +- .../processor/PollingInfoProcessor.java | 6 +- .../processor/PopBufferMergeService.java | 6 +- .../broker/processor/PopMessageProcessor.java | 8 +- .../broker/processor/PopReviveService.java | 6 +- .../processor/PullMessageProcessor.java | 6 +- .../processor/QueryAssignmentProcessor.java | 10 +- .../processor/QueryMessageProcessor.java | 6 +- .../processor/ReplyMessageProcessor.java | 6 +- .../schedule/ScheduleMessageService.java | 6 +- .../broker/slave/SlaveSynchronize.java | 6 +- .../SubscriptionGroupManager.java | 6 +- .../broker/topic/TopicConfigManager.java | 6 +- .../topic/TopicQueueMappingCleanService.java | 6 +- .../topic/TopicQueueMappingManager.java | 6 +- .../broker/topic/TopicRouteInfoManager.java | 6 +- ...ractTransactionalMessageCheckListener.java | 6 +- .../TransactionalMessageCheckService.java | 6 +- ...aultTransactionalMessageCheckListener.java | 6 +- .../queue/TransactionalMessageBridge.java | 6 +- .../TransactionalMessageServiceImpl.java | 6 +- .../queue/TransactionalOpBatchService.java | 6 +- .../rocketmq/broker/util/HookUtils.java | 6 +- .../util/TransactionalMessageServiceImpl.java | 6 +- .../src/test/resources/logback-test.xml | 24 +- client/BUILD.bazel | 2 +- client/pom.xml | 9 - .../org/apache/rocketmq/client/MQHelper.java | 15 +- .../consumer/DefaultLitePullConsumer.java | 6 +- .../consumer/DefaultMQPushConsumer.java | 6 +- .../MQPullConsumerScheduleService.java | 6 +- .../AbstractAllocateMessageQueueStrategy.java | 14 +- .../AllocateMessageQueueAveragely.java | 10 + ...AllocateMessageQueueAveragelyByCircle.java | 10 + .../consumer/store/LocalFileOffsetStore.java | 6 +- .../store/RemoteBrokerOffsetStore.java | 6 +- .../client/impl/ClientRemotingProcessor.java | 26 +- .../rocketmq/client/impl/MQAdminImpl.java | 6 +- .../rocketmq/client/impl/MQClientAPIImpl.java | 6 +- .../rocketmq/client/impl/MQClientManager.java | 6 +- .../ConsumeMessageConcurrentlyService.java | 6 +- .../ConsumeMessageOrderlyService.java | 6 +- .../ConsumeMessagePopConcurrentlyService.java | 6 +- .../ConsumeMessagePopOrderlyService.java | 6 +- .../consumer/DefaultLitePullConsumerImpl.java | 6 +- .../consumer/DefaultMQPullConsumerImpl.java | 6 +- .../consumer/DefaultMQPushConsumerImpl.java | 7 +- .../client/impl/consumer/ProcessQueue.java | 6 +- .../client/impl/consumer/PullAPIWrapper.java | 6 +- .../impl/consumer/PullMessageService.java | 26 +- .../client/impl/consumer/RebalanceImpl.java | 6 +- .../impl/consumer/RebalanceService.java | 6 +- .../client/impl/factory/MQClientInstance.java | 6 +- .../impl/producer/DefaultMQProducerImpl.java | 6 +- .../client/latency/MQFaultStrategy.java | 6 +- .../rocketmq/client/log/ClientLogger.java | 124 ++ .../client/producer/DefaultMQProducer.java | 10 +- .../client/producer/RequestFutureHolder.java | 6 +- .../client/stat/ConsumerStatsManager.java | 6 +- .../client/trace/AsyncTraceDispatcher.java | 7 +- .../src/main/resources/rmq.client.logback.xml | 52 - client/src/test/resources/log4j2.xml | 29 + common/BUILD.bazel | 2 +- common/pom.xml | 17 +- .../common/AbstractBrokerRunnable.java | 4 +- .../apache/rocketmq/common/BrokerConfig.java | 6 +- .../rocketmq/common/BrokerIdentity.java | 9 +- .../apache/rocketmq/common/ConfigManager.java | 6 +- .../org/apache/rocketmq/common/MixAll.java | 10 +- .../apache/rocketmq/common/ServiceThread.java | 6 +- .../rocketmq/common/ThreadFactoryImpl.java | 6 +- .../org/apache/rocketmq/common/UtilAll.java | 8 +- .../common/compression/Lz4Compressor.java | 6 +- .../common/compression/ZlibCompressor.java | 6 +- .../common/compression/ZstdCompressor.java | 6 +- .../common/namesrv/DefaultTopAddressing.java | 6 +- .../common/queue/ConcurrentTreeMap.java | 6 +- .../statistics/StatisticsItemPrinter.java | 8 +- .../common/stats/MomentStatsItem.java | 6 +- .../common/stats/MomentStatsItemSet.java | 6 +- .../rocketmq/common/stats/RTStatsItem.java | 8 +- .../rocketmq/common/stats/StatsItem.java | 17 +- .../rocketmq/common/stats/StatsItemSet.java | 13 +- .../common/thread/ThreadPoolMonitor.java | 10 +- .../rocketmq/common/utils/NetworkUtil.java | 6 +- .../common/utils/ServiceProvider.java | 8 +- .../rocketmq/common/utils/ThreadUtils.java | 6 +- container/BUILD.bazel | 3 +- container/pom.xml | 7 - .../rocketmq/container/BrokerContainer.java | 6 +- .../container/BrokerContainerProcessor.java | 6 +- .../container/BrokerContainerStartup.java | 27 +- .../logback/BrokerLogbackConfigurator.java | 152 +- .../src/test/resources/rmq.logback-test.xml | 36 - controller/BUILD.bazel | 3 +- controller/pom.xml | 7 +- .../controller/BrokerHousekeepingService.java | 6 +- .../controller/ControllerManager.java | 6 +- .../controller/ControllerStartup.java | 20 +- .../controller/impl/DLedgerController.java | 6 +- .../impl/DLedgerControllerStateMachine.java | 6 +- .../impl/DefaultBrokerHeartbeatManager.java | 6 +- .../impl/manager/ReplicasInfoManager.java | 6 +- .../processor/ControllerRequestProcessor.java | 6 +- .../src/test/resources/logback-test.xml | 33 + .../src/test/resources/rmq.logback-test.xml | 36 - .../conf/logback_broker.xml | 108 +- .../conf/logback_controller.xml | 16 +- .../conf/logback_namesrv.xml | 24 +- .../conf/logback_proxy.xml | 116 +- .../conf/logback_tools.xml | 16 +- example/pom.xml | 12 +- .../example/benchmark/BatchProducer.java | 14 +- .../rocketmq/example/benchmark/Producer.java | 8 +- .../benchmark/timer/TimerProducer.java | 12 +- .../example/rpc/AsyncRequestProducer.java | 6 +- .../example/simple/PopPushConsumer.java | 62 + filter/BUILD.bazel | 1 + filter/pom.xml | 2 - .../src/test/resources/rmq.logback-test.xml | 36 - logging/BUILD.bazel | 24 + logging/pom.xml | 48 + .../rocketmq/logging/InnerLoggerFactory.java | 482 +++++++ .../rocketmq/logging/InternalLogger.java | 63 + .../logging/InternalLoggerFactory.java | 100 ++ .../rocketmq/logging/Slf4jLoggerFactory.java | 193 +++ .../rocketmq/logging/inner/Appender.java | 228 +++ .../apache/rocketmq/logging/inner/Layout.java | 39 + .../apache/rocketmq/logging/inner/Level.java | 152 ++ .../apache/rocketmq/logging/inner/Logger.java | 467 +++++++ .../logging/inner/LoggingBuilder.java | 1231 +++++++++++++++++ .../rocketmq/logging/inner/LoggingEvent.java | 124 ++ .../rocketmq/logging/inner/SysLogger.java | 89 ++ .../apache/rocketmq/logging/package-info.java | 35 + .../rocketmq/logging/BasicLoggerTest.java | 69 + .../logging/InnerLoggerFactoryTest.java | 91 ++ .../rocketmq/logging/InternalLoggerTest.java | 68 + .../logging/Slf4jLoggerFactoryTest.java | 80 ++ .../rocketmq/logging/inner/AppenderTest.java | 158 +++ .../rocketmq/logging/inner/LayoutTest.java | 52 + .../rocketmq/logging/inner/LevelTest.java | 37 + .../logging/inner/LoggerRepositoryTest.java | 49 + .../rocketmq/logging/inner/LoggerTest.java | 111 ++ .../logging/inner/LoggingBuilderTest.java | 113 ++ .../logging/inner/MessageFormatterTest.java | 39 + logging/src/test/resources/logback_test.xml | 46 + namesrv/BUILD.bazel | 4 +- namesrv/pom.xml | 16 +- .../rocketmq/namesrv/NamesrvController.java | 8 +- .../rocketmq/namesrv/NamesrvStartup.java | 17 +- .../namesrv/kvconfig/KVConfigManager.java | 6 +- .../processor/ClientRequestProcessor.java | 6 +- .../ClusterTestRequestProcessor.java | 6 +- .../processor/DefaultRequestProcessor.java | 6 +- .../routeinfo/BatchUnregistrationService.java | 6 +- .../namesrv/routeinfo/RouteInfoManager.java | 6 +- .../processor/RequestProcessorTest.java | 6 +- .../routeinfo/GetRouteInfoBenchmark.java | 12 +- .../routeinfo/RegisterBrokerBenchmark.java | 13 +- .../src/test/resources/rmq.logback-test.xml | 36 - openmessaging/pom.xml | 5 +- .../rocketmq/consumer/LocalMessageCache.java | 8 +- .../rocketmq/consumer/PullConsumerImpl.java | 8 +- .../producer/AbstractOMSProducer.java | 3 + .../rocketmq/producer/ProducerImpl.java | 4 - .../rocketmq/promise/DefaultPromise.java | 6 +- .../rocketmq/utils/BeanUtils.java | 6 +- .../src/test/resources/rmq.logback-test.xml | 36 - pom.xml | 144 +- proxy/BUILD.bazel | 4 +- proxy/pom.xml | 15 +- .../apache/rocketmq/proxy/ProxyStartup.java | 39 +- .../rocketmq/proxy/config/Configuration.java | 4 +- .../rocketmq/proxy/config/ProxyConfig.java | 4 +- .../rocketmq/proxy/grpc/GrpcServer.java | 6 +- .../proxy/grpc/GrpcServerBuilder.java | 6 +- .../GlobalExceptionInterceptor.java | 6 +- .../grpc/v2/AbstractMessingActivity.java | 6 +- .../grpc/v2/DefaultGrpcMessingActivity.java | 6 +- .../grpc/v2/GrpcMessagingApplication.java | 4 +- .../grpc/v2/channel/GrpcClientChannel.java | 6 +- .../proxy/grpc/v2/client/ClientActivity.java | 6 +- .../proxy/grpc/v2/common/GrpcConverter.java | 6 +- .../proxy/grpc/v2/common/GrpcValidator.java | 6 +- .../proxy/grpc/v2/common/ResponseBuilder.java | 6 +- .../proxy/grpc/v2/common/ResponseWriter.java | 6 +- .../ReceiveMessageResponseStreamWriter.java | 6 +- .../proxy/metrics/ProxyMetricsManager.java | 4 +- .../proxy/processor/ConsumerProcessor.java | 6 +- .../proxy/processor/ProducerProcessor.java | 6 +- .../processor/ReceiptHandleProcessor.java | 4 +- .../proxy/service/ClusterServiceManager.java | 6 +- .../proxy/service/channel/ChannelManager.java | 4 +- .../proxy/service/channel/SimpleChannel.java | 6 +- .../service/message/LocalMessageService.java | 4 +- .../metadata/ClusterMetadataService.java | 6 +- .../service/mqclient/MQClientAPIExt.java | 6 +- .../ProxyClientRemotingProcessor.java | 6 +- .../proxy/service/relay/ProxyChannel.java | 6 +- .../service/route/TopicRouteService.java | 6 +- .../ClusterTransactionService.java | 6 +- .../transaction/TransactionDataManager.java | 6 +- .../rocketmq/proxy/ProxyStartupTest.java | 14 +- .../proxy/common/ReceiptHandleGroupTest.java | 4 +- .../config/ConfigurationManagerTest.java | 2 +- ...Test.java => InitConfigAndLoggerTest.java} | 33 +- .../grpc/v2/AbstractMessingActivityTest.java | 4 +- .../proxy/grpc/v2/BaseActivityTest.java | 4 +- .../grpc/v2/GrpcMessagingApplicationTest.java | 4 +- .../proxy/processor/BaseProcessorTest.java | 4 +- .../proxy/service/BaseServiceTest.java | 4 +- .../message/LocalMessageServiceTest.java | 4 +- .../AbstractTransactionServiceTest.java | 4 +- .../TransactionDataManagerTest.java | 4 +- proxy/src/test/resources/rmq.logback-test.xml | 36 - remoting/BUILD.bazel | 2 +- remoting/pom.xml | 5 +- .../rocketmq/remoting/Configuration.java | 10 +- .../remoting/common/RemotingHelper.java | 6 +- .../remoting/common/ServiceThread.java | 6 +- .../rocketmq/remoting/netty/NettyDecoder.java | 6 +- .../rocketmq/remoting/netty/NettyEncoder.java | 6 +- .../rocketmq/remoting/netty/NettyLogger.java | 8 +- .../remoting/netty/NettyRemotingAbstract.java | 6 +- .../remoting/netty/NettyRemotingClient.java | 6 +- .../remoting/netty/NettyRemotingServer.java | 10 +- .../rocketmq/remoting/netty/TlsHelper.java | 6 +- .../remoting/protocol/MQProtosHelper.java | 6 +- .../remoting/protocol/RemotingCommand.java | 6 +- .../protocol/body/RegisterBrokerBody.java | 6 +- .../rocketmq/remoting/rpc/ClientMetadata.java | 6 +- .../src/test/resources/rmq.logback-test.xml | 36 - srvutil/BUILD.bazel | 2 +- srvutil/pom.xml | 7 +- .../rocketmq/srvutil/AclFileWatchService.java | 6 +- .../rocketmq/srvutil/FileWatchService.java | 6 +- .../rocketmq/srvutil/ShutdownHookThread.java | 6 +- .../src/test/java/logback-test.xml | 20 +- .../src/test/resources/rmq.logback-test.xml | 36 - store/BUILD.bazel | 6 +- store/pom.xml | 13 +- .../store/AllocateMappedFileService.java | 6 +- .../org/apache/rocketmq/store/CommitLog.java | 6 +- .../apache/rocketmq/store/ConsumeQueue.java | 8 +- .../rocketmq/store/ConsumeQueueExt.java | 6 +- .../rocketmq/store/DefaultMessageStore.java | 6 +- .../rocketmq/store/FlushDiskWatcher.java | 6 +- .../rocketmq/store/MappedFileQueue.java | 8 +- .../rocketmq/store/MessageExtEncoder.java | 6 +- .../rocketmq/store/StoreCheckpoint.java | 6 +- .../rocketmq/store/StoreStatsService.java | 6 +- .../org/apache/rocketmq/store/StoreUtil.java | 6 +- .../rocketmq/store/TransientStorePool.java | 6 +- .../rocketmq/store/ha/DefaultHAClient.java | 6 +- .../store/ha/DefaultHAConnection.java | 6 +- .../rocketmq/store/ha/DefaultHAService.java | 6 +- .../store/ha/GroupTransferService.java | 6 +- .../HAConnectionStateNotificationService.java | 6 +- .../rocketmq/store/ha/WaitNotifyObject.java | 6 +- .../ha/autoswitch/AutoSwitchHAClient.java | 6 +- .../ha/autoswitch/AutoSwitchHAConnection.java | 6 +- .../ha/autoswitch/AutoSwitchHAService.java | 6 +- .../store/ha/autoswitch/EpochFileCache.java | 6 +- .../store/ha/io/AbstractHAReader.java | 6 +- .../apache/rocketmq/store/ha/io/HAWriter.java | 6 +- .../rocketmq/store/index/IndexFile.java | 6 +- .../rocketmq/store/index/IndexService.java | 6 +- .../rocketmq/store/kv/CompactionLog.java | 6 +- .../rocketmq/store/kv/CompactionService.java | 6 +- .../rocketmq/store/kv/CompactionStore.java | 6 +- .../rocketmq/store/kv/MessageFetcher.java | 6 +- .../store/logfile/DefaultMappedFile.java | 6 +- .../store/queue/BatchConsumeQueue.java | 6 +- .../store/queue/ConsumeQueueStore.java | 6 +- .../store/queue/QueueOffsetAssigner.java | 6 +- .../rocketmq/store/stats/BrokerStats.java | 6 +- .../store/stats/BrokerStatsManager.java | 14 +- .../rocketmq/store/timer/TimerCheckpoint.java | 6 +- .../apache/rocketmq/store/timer/TimerLog.java | 6 +- .../store/timer/TimerMessageStore.java | 11 +- .../rocketmq/store/timer/TimerMetrics.java | 6 +- .../rocketmq/store/timer/TimerWheel.java | 6 +- .../rocketmq/store/util/PerfCounter.java | 12 +- .../apache/rocketmq/store/StoreTestUtil.java | 6 +- .../src/test/resources/logback-test.xml | 21 +- store/src/test/resources/rmq.logback-test.xml | 36 - test/BUILD.bazel | 9 +- test/pom.xml | 27 +- .../test/client/mq/MQAsyncProducer.java | 6 +- .../test/client/rmq/RMQAsyncSendProducer.java | 5 +- .../test/client/rmq/RMQBroadCastConsumer.java | 5 +- .../test/client/rmq/RMQNormalConsumer.java | 5 +- .../test/client/rmq/RMQNormalProducer.java | 33 +- .../test/client/rmq/RMQPopConsumer.java | 5 +- .../test/client/rmq/RMQSqlConsumer.java | 5 +- .../client/rmq/RMQTransactionalProducer.java | 9 +- .../test/listener/AbstractListener.java | 7 +- .../rmq/concurrent/RMQNormalListener.java | 2 +- .../listener/rmq/order/RMQOrderListener.java | 2 +- .../test/lmq/benchmark/BenchLmqStore.java | 4 +- .../rocketmq/test/util/MQAdminTestUtils.java | 5 +- .../org/apache/rocketmq/test/util/MQWait.java | 6 +- .../apache/rocketmq/test/util/StatUtil.java | 5 +- .../rocketmq/test/util/VerifyUtils.java | 5 +- .../apache/rocketmq/test/base/BaseConf.java | 4 +- .../test/base/IntegrationTestBase.java | 6 +- .../balance/NormalMsgDynamicBalanceIT.java | 5 +- .../balance/NormalMsgStaticBalanceIT.java | 4 +- .../consumer/broadcast/BaseBroadcast.java | 5 +- .../BroadcastNormalMsgNotReceiveIT.java | 5 +- .../normal/BroadcastNormalMsgRecvCrashIT.java | 5 +- .../normal/BroadcastNormalMsgRecvFailIT.java | 5 +- .../BroadcastNormalMsgRecvStartLaterIT.java | 5 +- .../BroadcastNormalMsgTwoDiffGroupRecvIT.java | 5 +- .../NormalMsgTwoSameGroupConsumerIT.java | 5 +- .../broadcast/order/OrderMsgBroadcastIT.java | 5 +- .../tag/BroadcastTwoConsumerFilterIT.java | 5 +- .../tag/BroadcastTwoConsumerSubDiffTagIT.java | 5 +- .../tag/BroadcastTwoConsumerSubTagIT.java | 5 +- .../cluster/DynamicAddAndCrashIT.java | 5 +- .../cluster/DynamicAddConsumerIT.java | 5 +- .../cluster/DynamicCrashConsumerIT.java | 5 +- .../client/consumer/filter/SqlFilterIT.java | 5 +- .../client/consumer/pop/PopSubCheckIT.java | 9 +- .../test/client/consumer/tag/MulTagSubIT.java | 6 +- .../tag/TagMessageWith1ConsumerIT.java | 6 +- .../tag/TagMessageWithMulConsumerIT.java | 6 +- .../TagMessageWithSameGroupConsumerIT.java | 5 +- .../producer/async/AsyncSendExceptionIT.java | 5 +- .../async/AsyncSendWithMessageQueueIT.java | 5 +- .../AsyncSendWithMessageQueueSelectorIT.java | 5 +- .../AsyncSendWithOnlySendCallBackIT.java | 5 +- .../client/producer/batch/BatchSendIT.java | 5 +- .../exception/msg/MessageUserPropIT.java | 5 +- ...roducerGroupAndInstanceNameValidityIT.java | 5 +- .../oneway/OneWaySendExceptionIT.java | 5 +- .../client/producer/oneway/OneWaySendIT.java | 5 +- .../producer/oneway/OneWaySendWithMQIT.java | 5 +- .../oneway/OneWaySendWithSelectorIT.java | 5 +- .../order/OrderMsgDynamicRebalanceIT.java | 5 +- .../client/producer/order/OrderMsgIT.java | 5 +- .../producer/order/OrderMsgRebalanceIT.java | 5 +- .../producer/order/OrderMsgWithTagIT.java | 5 +- .../querymsg/QueryMsgByIdExceptionIT.java | 5 +- .../producer/querymsg/QueryMsgByIdIT.java | 5 +- .../producer/querymsg/QueryMsgByKeyIT.java | 5 +- .../transaction/TransactionalMsgIT.java | 5 +- .../ContainerIntegrationTestBase.java | 19 +- .../rocketmq/test/delay/NormalMsgDelayIT.java | 5 +- .../test/offset/OffsetResetForPopIT.java | 5 +- .../rocketmq/test/offset/OffsetResetIT.java | 5 +- .../smoke/NormalMessageSendAndRecvIT.java | 4 +- .../test/statictopic/StaticTopicIT.java | 5 +- test/src/test/resources/log4j.xml | 46 + test/src/test/resources/logback-test.xml | 33 + test/src/test/resources/rmq.logback-test.xml | 36 - tools/BUILD.bazel | 5 +- tools/pom.xml | 7 +- .../tools/admin/DefaultMQAdminExtImpl.java | 52 +- .../tools/command/MQAdminStartup.java | 19 + .../consumer/ConsumerProgressSubCommand.java | 6 +- .../consumer/StartMonitoringSubCommand.java | 3 + .../tools/monitor/DefaultMonitorListener.java | 20 +- .../tools/monitor/MonitorService.java | 10 +- .../DeleteExpiredCommitLogSubCommandTest.java | 2 +- .../command/server/ServerResponseMocker.java | 9 +- tools/src/test/resources/rmq.logback-test.xml | 36 - 415 files changed, 6279 insertions(+), 1898 deletions(-) rename client/src/test/resources/rmq.logback-test.xml => acl/src/test/resources/logback-test.xml (63%) rename common/src/test/resources/rmq.logback-test.xml => broker/src/test/resources/logback-test.xml (62%) create mode 100644 client/src/main/java/org/apache/rocketmq/client/log/ClientLogger.java delete mode 100644 client/src/main/resources/rmq.client.logback.xml create mode 100644 client/src/test/resources/log4j2.xml delete mode 100644 container/src/test/resources/rmq.logback-test.xml create mode 100644 controller/src/test/resources/logback-test.xml delete mode 100644 controller/src/test/resources/rmq.logback-test.xml rename broker/src/main/resources/rmq.broker.logback.xml => distribution/conf/logback_broker.xml (69%) rename controller/src/main/resources/rmq.controller.logback.xml => distribution/conf/logback_controller.xml (79%) rename namesrv/src/main/resources/rmq.namesrv.logback.xml => distribution/conf/logback_namesrv.xml (77%) rename proxy/src/main/resources/rmq.proxy.logback.xml => distribution/conf/logback_proxy.xml (69%) rename tools/src/main/resources/rmq.tools.logback.xml => distribution/conf/logback_tools.xml (79%) create mode 100644 example/src/main/java/org/apache/rocketmq/example/simple/PopPushConsumer.java delete mode 100644 filter/src/test/resources/rmq.logback-test.xml create mode 100644 logging/BUILD.bazel create mode 100644 logging/pom.xml create mode 100644 logging/src/main/java/org/apache/rocketmq/logging/InnerLoggerFactory.java create mode 100644 logging/src/main/java/org/apache/rocketmq/logging/InternalLogger.java create mode 100644 logging/src/main/java/org/apache/rocketmq/logging/InternalLoggerFactory.java create mode 100644 logging/src/main/java/org/apache/rocketmq/logging/Slf4jLoggerFactory.java create mode 100755 logging/src/main/java/org/apache/rocketmq/logging/inner/Appender.java create mode 100644 logging/src/main/java/org/apache/rocketmq/logging/inner/Layout.java create mode 100755 logging/src/main/java/org/apache/rocketmq/logging/inner/Level.java create mode 100755 logging/src/main/java/org/apache/rocketmq/logging/inner/Logger.java create mode 100644 logging/src/main/java/org/apache/rocketmq/logging/inner/LoggingBuilder.java create mode 100644 logging/src/main/java/org/apache/rocketmq/logging/inner/LoggingEvent.java create mode 100755 logging/src/main/java/org/apache/rocketmq/logging/inner/SysLogger.java create mode 100644 logging/src/main/java/org/apache/rocketmq/logging/package-info.java create mode 100644 logging/src/test/java/org/apache/rocketmq/logging/BasicLoggerTest.java create mode 100644 logging/src/test/java/org/apache/rocketmq/logging/InnerLoggerFactoryTest.java create mode 100644 logging/src/test/java/org/apache/rocketmq/logging/InternalLoggerTest.java create mode 100644 logging/src/test/java/org/apache/rocketmq/logging/Slf4jLoggerFactoryTest.java create mode 100644 logging/src/test/java/org/apache/rocketmq/logging/inner/AppenderTest.java create mode 100644 logging/src/test/java/org/apache/rocketmq/logging/inner/LayoutTest.java create mode 100644 logging/src/test/java/org/apache/rocketmq/logging/inner/LevelTest.java create mode 100644 logging/src/test/java/org/apache/rocketmq/logging/inner/LoggerRepositoryTest.java create mode 100644 logging/src/test/java/org/apache/rocketmq/logging/inner/LoggerTest.java create mode 100644 logging/src/test/java/org/apache/rocketmq/logging/inner/LoggingBuilderTest.java create mode 100644 logging/src/test/java/org/apache/rocketmq/logging/inner/MessageFormatterTest.java create mode 100644 logging/src/test/resources/logback_test.xml delete mode 100644 namesrv/src/test/resources/rmq.logback-test.xml delete mode 100644 openmessaging/src/test/resources/rmq.logback-test.xml rename proxy/src/test/java/org/apache/rocketmq/proxy/config/{InitConfigTest.java => InitConfigAndLoggerTest.java} (56%) delete mode 100644 proxy/src/test/resources/rmq.logback-test.xml delete mode 100644 remoting/src/test/resources/rmq.logback-test.xml rename broker/src/test/resources/rmq.logback-test.xml => srvutil/src/test/java/logback-test.xml (63%) delete mode 100644 srvutil/src/test/resources/rmq.logback-test.xml rename acl/src/test/resources/rmq.logback-test.xml => store/src/test/resources/logback-test.xml (63%) delete mode 100644 store/src/test/resources/rmq.logback-test.xml create mode 100644 test/src/test/resources/log4j.xml create mode 100644 test/src/test/resources/logback-test.xml delete mode 100644 test/src/test/resources/rmq.logback-test.xml delete mode 100644 tools/src/test/resources/rmq.logback-test.xml diff --git a/.gitignore b/.gitignore index c20f4bf768..ad431b3614 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,7 @@ .settings/ target/ devenv -*.log.* +*.log* *.iml .idea/ *.versionsBackup diff --git a/WORKSPACE b/WORKSPACE index 38e846a326..fe16f04b44 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -43,7 +43,7 @@ maven_install( "com.alibaba:fastjson:1.2.76", "org.hamcrest:hamcrest-library:1.3", "io.netty:netty-all:4.1.65.Final", - "org.slf4j:slf4j-api:1.7.33", + "org.slf4j:slf4j-api:1.7.7", "org.assertj:assertj-core:3.22.0", "org.mockito:mockito-core:3.10.0", "com.github.luben:zstd-jni:1.5.2-2", @@ -64,6 +64,7 @@ maven_install( "org.yaml:snakeyaml:1.30", "commons-codec:commons-codec:1.13", "commons-io:commons-io:2.7", + "log4j:log4j:1.2.17", "com.google.truth:truth:0.30", "org.bouncycastle:bcpkix-jdk15on:1.69", "com.google.code.gson:gson:2.8.9", @@ -93,8 +94,6 @@ maven_install( "io.opentelemetry:opentelemetry-api:1.19.0", "io.opentelemetry:opentelemetry-sdk-metrics:1.19.0", "io.opentelemetry:opentelemetry-sdk-common:1.19.0", - "io.github.aliyun-mq:rocketmq-slf4j-api:1.0.1", - "io.github.aliyun-mq:rocketmq-logback-classic:1.0.1", ], fetch_sources = True, repositories = [ diff --git a/acl/BUILD.bazel b/acl/BUILD.bazel index fd9e45dd67..ca0517db76 100644 --- a/acl/BUILD.bazel +++ b/acl/BUILD.bazel @@ -22,6 +22,7 @@ java_library( visibility = ["//visibility:public"], deps = [ "//common", + "//logging", "//remoting", "//srvutil", "@maven//:com_alibaba_fastjson", @@ -35,7 +36,6 @@ java_library( "@maven//:org_apache_rocketmq_rocketmq_proto", "@maven//:org_lz4_lz4_java", "@maven//:org_yaml_snakeyaml", - "@maven//:io_github_aliyun_mq_rocketmq_slf4j_api", ], ) diff --git a/acl/pom.xml b/acl/pom.xml index 9a3c12e28e..90ce2c8bef 100644 --- a/acl/pom.xml +++ b/acl/pom.xml @@ -30,25 +30,18 @@ ${project.groupId} rocketmq-remoting - ${project.version} + + + ${project.groupId} + rocketmq-logging ${project.groupId} rocketmq-common - ${project.version} ${project.groupId} rocketmq-srvutil - ${project.version} - - - io.github.aliyun-mq - rocketmq-slf4j-api - - - io.github.aliyun-mq - rocketmq-logback-classic org.yaml @@ -62,6 +55,17 @@ org.apache.commons commons-lang3 + + + org.slf4j + slf4j-api + test + + + ch.qos.logback + logback-classic + test + commons-validator commons-validator diff --git a/acl/src/main/java/org/apache/rocketmq/acl/common/AclSigner.java b/acl/src/main/java/org/apache/rocketmq/acl/common/AclSigner.java index 98964cde30..9953cca0fe 100644 --- a/acl/src/main/java/org/apache/rocketmq/acl/common/AclSigner.java +++ b/acl/src/main/java/org/apache/rocketmq/acl/common/AclSigner.java @@ -22,13 +22,13 @@ import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; import org.apache.commons.codec.binary.Base64; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public class AclSigner { public static final Charset DEFAULT_CHARSET = StandardCharsets.UTF_8; public static final SigningAlgorithm DEFAULT_ALGORITHM = SigningAlgorithm.HmacSHA1; - private static final Logger log = LoggerFactory.getLogger(LoggerName.ROCKETMQ_AUTHORIZE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.ROCKETMQ_AUTHORIZE_LOGGER_NAME); private static final int CAL_SIGNATURE_FAILED = 10015; private static final String CAL_SIGNATURE_FAILED_MSG = "[%s:signature-failed] unable to calculate a request signature. error=%s"; diff --git a/acl/src/main/java/org/apache/rocketmq/acl/common/AclUtils.java b/acl/src/main/java/org/apache/rocketmq/acl/common/AclUtils.java index 230aba05e4..0f31ab8bb4 100644 --- a/acl/src/main/java/org/apache/rocketmq/acl/common/AclUtils.java +++ b/acl/src/main/java/org/apache/rocketmq/acl/common/AclUtils.java @@ -27,8 +27,8 @@ import java.util.SortedMap; import org.apache.commons.lang3.StringUtils; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.RPCHook; import org.apache.rocketmq.remoting.protocol.RemotingCommand; import org.yaml.snakeyaml.Yaml; @@ -37,7 +37,7 @@ import static org.apache.rocketmq.acl.common.SessionCredentials.CHARSET; public class AclUtils { - private static final Logger log = LoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); public static byte[] combineRequestContent(RemotingCommand request, SortedMap fieldsMap) { try { diff --git a/acl/src/main/java/org/apache/rocketmq/acl/plain/PlainPermissionManager.java b/acl/src/main/java/org/apache/rocketmq/acl/plain/PlainPermissionManager.java index a506b83fba..b41c34e695 100644 --- a/acl/src/main/java/org/apache/rocketmq/acl/plain/PlainPermissionManager.java +++ b/acl/src/main/java/org/apache/rocketmq/acl/plain/PlainPermissionManager.java @@ -45,14 +45,14 @@ import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.PlainAccessConfig; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.topic.TopicValidator; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.DataVersion; import org.apache.rocketmq.srvutil.AclFileWatchService; public class PlainPermissionManager { - private static final Logger log = LoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); private String fileHome = System.getProperty(MixAll.ROCKETMQ_HOME_PROPERTY, System.getenv(MixAll.ROCKETMQ_HOME_ENV)); diff --git a/acl/src/main/java/org/apache/rocketmq/acl/plain/RemoteAddressStrategyFactory.java b/acl/src/main/java/org/apache/rocketmq/acl/plain/RemoteAddressStrategyFactory.java index eb3a8c324b..f2caf24315 100644 --- a/acl/src/main/java/org/apache/rocketmq/acl/plain/RemoteAddressStrategyFactory.java +++ b/acl/src/main/java/org/apache/rocketmq/acl/plain/RemoteAddressStrategyFactory.java @@ -23,12 +23,12 @@ import org.apache.commons.validator.routines.InetAddressValidator; import org.apache.rocketmq.acl.common.AclException; import org.apache.rocketmq.acl.common.AclUtils; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public class RemoteAddressStrategyFactory { - private static final Logger log = LoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); public static final NullRemoteAddressStrategy NULL_NET_ADDRESS_STRATEGY = new NullRemoteAddressStrategy(); diff --git a/client/src/test/resources/rmq.logback-test.xml b/acl/src/test/resources/logback-test.xml similarity index 63% rename from client/src/test/resources/rmq.logback-test.xml rename to acl/src/test/resources/logback-test.xml index c3ec0d1e81..e556c649e5 100644 --- a/client/src/test/resources/rmq.logback-test.xml +++ b/acl/src/test/resources/logback-test.xml @@ -17,20 +17,18 @@ --> - - - - %d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n - - + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n + UTF-8 + - - + + - - - + + - \ No newline at end of file + diff --git a/broker/BUILD.bazel b/broker/BUILD.bazel index 75addf8bce..ea8dd90460 100644 --- a/broker/BUILD.bazel +++ b/broker/BUILD.bazel @@ -25,6 +25,7 @@ java_library( "//client", "//common", "//filter", + "//logging", "//remoting", "//srvutil", "//store", @@ -49,7 +50,6 @@ java_library( "@maven//:org_apache_commons_commons_lang3", "@maven//:org_lz4_lz4_java", "@maven//:org_slf4j_slf4j_api", - "@maven//:io_github_aliyun_mq_rocketmq_slf4j_api", ], ) @@ -60,7 +60,7 @@ java_library( "src/test/resources/META-INF/service/org.apache.rocketmq.acl.AccessValidator", "src/test/resources/META-INF/service/org.apache.rocketmq.broker.transaction.AbstractTransactionalMessageCheckListener", "src/test/resources/META-INF/service/org.apache.rocketmq.broker.transaction.TransactionalMessageService", - "src/test/resources/rmq.logback-test.xml", + "src/test/resources/logback-test.xml", ], visibility = ["//visibility:public"], deps = [ @@ -70,13 +70,13 @@ java_library( "//client", "//common", "//filter", + "//logging", "//remoting", "//store", "@maven//:com_alibaba_fastjson", "@maven//:com_google_guava_guava", "@maven//:io_netty_netty_all", "@maven//:org_apache_commons_commons_lang3", - "@maven//:io_github_aliyun_mq_rocketmq_slf4j_api", ], ) diff --git a/broker/pom.xml b/broker/pom.xml index ae79c64d9c..45c8acfc90 100644 --- a/broker/pom.xml +++ b/broker/pom.xml @@ -29,45 +29,39 @@ ${project.groupId} rocketmq-remoting - ${project.version} ${project.groupId} rocketmq-store - ${project.version} - io.github.aliyun-mq - rocketmq-slf4j-api - - - io.github.aliyun-mq - rocketmq-logback-classic + ${project.groupId} + rocketmq-remoting ${project.groupId} rocketmq-client - ${project.version} ${project.groupId} rocketmq-srvutil - ${project.version} ${project.groupId} rocketmq-filter - ${project.version} ${project.groupId} rocketmq-acl - ${project.version} commons-io commons-io + + ch.qos.logback + logback-classic + com.alibaba fastjson @@ -76,6 +70,10 @@ org.javassist javassist + + org.slf4j + slf4j-api + org.bouncycastle bcpkix-jdk15on diff --git a/broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java b/broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java index e22f1b0a5e..787c62dc8f 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java @@ -116,8 +116,8 @@ import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageExtBrokerInner; import org.apache.rocketmq.common.stats.MomentStatsItem; import org.apache.rocketmq.common.utils.ServiceProvider; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.Configuration; import org.apache.rocketmq.remoting.RPCHook; import org.apache.rocketmq.remoting.RemotingServer; @@ -159,9 +159,9 @@ import org.apache.rocketmq.store.timer.TimerMessageStore; import org.apache.rocketmq.store.timer.TimerMetrics; public class BrokerController { - protected static final Logger LOG = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); - private static final Logger LOG_PROTECTION = LoggerFactory.getLogger(LoggerName.PROTECTION_LOGGER_NAME); - private static final Logger LOG_WATER_MARK = LoggerFactory.getLogger(LoggerName.WATER_MARK_LOGGER_NAME); + protected static final InternalLogger LOG = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger LOG_PROTECTION = InternalLoggerFactory.getLogger(LoggerName.PROTECTION_LOGGER_NAME); + private static final InternalLogger LOG_WATER_MARK = InternalLoggerFactory.getLogger(LoggerName.WATER_MARK_LOGGER_NAME); protected static final int HA_ADDRESS_MIN_LENGTH = 6; protected final BrokerConfig brokerConfig; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/BrokerPreOnlineService.java b/broker/src/main/java/org/apache/rocketmq/broker/BrokerPreOnlineService.java index 9916be660c..3941169302 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/BrokerPreOnlineService.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/BrokerPreOnlineService.java @@ -29,8 +29,8 @@ import org.apache.rocketmq.broker.schedule.DelayOffsetSerializeWrapper; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.ServiceThread; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.protocol.BrokerSyncInfo; import org.apache.rocketmq.remoting.protocol.body.BrokerMemberGroup; @@ -41,7 +41,7 @@ import org.apache.rocketmq.store.ha.HAConnectionStateNotificationRequest; import org.apache.rocketmq.store.timer.TimerCheckpoint; public class BrokerPreOnlineService extends ServiceThread { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private final BrokerController brokerController; private int waitBrokerIndex = 0; 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 f78a5a79c7..46cbbf1c87 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/BrokerStartup.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/BrokerStartup.java @@ -16,6 +16,8 @@ */ package org.apache.rocketmq.broker; +import ch.qos.logback.classic.LoggerContext; +import ch.qos.logback.classic.joran.JoranConfigurator; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.InputStream; @@ -30,20 +32,22 @@ import org.apache.rocketmq.common.MQVersion; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.utils.NetworkUtil; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.netty.NettyClientConfig; import org.apache.rocketmq.remoting.netty.NettyServerConfig; import org.apache.rocketmq.remoting.protocol.RemotingCommand; import org.apache.rocketmq.srvutil.ServerUtil; import org.apache.rocketmq.store.config.BrokerRole; import org.apache.rocketmq.store.config.MessageStoreConfig; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class BrokerStartup { public static Properties properties = null; public static CommandLine commandLine = null; public static String configFile = null; - public static Logger log; + public static InternalLogger log; public static final SystemConfigFileHelper CONFIG_FILE_HELPER = new SystemConfigFileHelper(); public static void main(String[] args) { @@ -165,6 +169,10 @@ public class BrokerStartup { } messageStoreConfig.setHaListenPort(nettyServerConfig.getListenPort() + 1); + LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); + JoranConfigurator configurator = new JoranConfigurator(); + configurator.setContext(lc); + lc.reset(); System.setProperty("brokerLogDir", ""); if (brokerConfig.isIsolateLogEnable()) { System.setProperty("brokerLogDir", brokerConfig.getBrokerName() + "_" + brokerConfig.getBrokerId()); @@ -172,16 +180,17 @@ public class BrokerStartup { if (brokerConfig.isIsolateLogEnable() && messageStoreConfig.isEnableDLegerCommitLog()) { System.setProperty("brokerLogDir", brokerConfig.getBrokerName() + "_" + messageStoreConfig.getdLegerSelfId()); } + configurator.doConfigure(brokerConfig.getRocketmqHome() + "/conf/logback_broker.xml"); if (commandLine.hasOption('p')) { - Logger console = LoggerFactory.getLogger(LoggerName.BROKER_CONSOLE_NAME); + InternalLogger console = InternalLoggerFactory.getLogger(LoggerName.BROKER_CONSOLE_NAME); MixAll.printObjectProperties(console, brokerConfig); MixAll.printObjectProperties(console, nettyServerConfig); MixAll.printObjectProperties(console, nettyClientConfig); MixAll.printObjectProperties(console, messageStoreConfig); System.exit(0); } else if (commandLine.hasOption('m')) { - Logger console = LoggerFactory.getLogger(LoggerName.BROKER_CONSOLE_NAME); + InternalLogger console = InternalLoggerFactory.getLogger(LoggerName.BROKER_CONSOLE_NAME); MixAll.printObjectProperties(console, brokerConfig, true); MixAll.printObjectProperties(console, nettyServerConfig, true); MixAll.printObjectProperties(console, nettyClientConfig, true); @@ -189,7 +198,7 @@ public class BrokerStartup { System.exit(0); } - log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); MixAll.printObjectProperties(log, brokerConfig); MixAll.printObjectProperties(log, nettyServerConfig); MixAll.printObjectProperties(log, nettyClientConfig); diff --git a/broker/src/main/java/org/apache/rocketmq/broker/client/ClientHousekeepingService.java b/broker/src/main/java/org/apache/rocketmq/broker/client/ClientHousekeepingService.java index 98cf6ea19e..28f2e92fdf 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/client/ClientHousekeepingService.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/client/ClientHousekeepingService.java @@ -23,12 +23,12 @@ import java.util.concurrent.TimeUnit; import org.apache.rocketmq.broker.BrokerController; import org.apache.rocketmq.common.ThreadFactoryImpl; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.ChannelEventListener; public class ClientHousekeepingService implements ChannelEventListener { - private static final Logger log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private final BrokerController brokerController; private ScheduledExecutorService scheduledExecutorService; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/client/ConsumerGroupInfo.java b/broker/src/main/java/org/apache/rocketmq/broker/client/ConsumerGroupInfo.java index c31d952a7e..c320d786f7 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/client/ConsumerGroupInfo.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/client/ConsumerGroupInfo.java @@ -26,14 +26,14 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.consumer.ConsumeFromWhere; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.heartbeat.ConsumeType; import org.apache.rocketmq.remoting.protocol.heartbeat.MessageModel; import org.apache.rocketmq.remoting.protocol.heartbeat.SubscriptionData; public class ConsumerGroupInfo { - private static final Logger log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private final String groupName; private final ConcurrentMap subscriptionTable = new ConcurrentHashMap<>(); diff --git a/broker/src/main/java/org/apache/rocketmq/broker/client/ConsumerManager.java b/broker/src/main/java/org/apache/rocketmq/broker/client/ConsumerManager.java index 5412fe7447..bf36078e88 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/client/ConsumerManager.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/client/ConsumerManager.java @@ -28,8 +28,8 @@ import java.util.concurrent.CopyOnWriteArrayList; import java.util.stream.Collectors; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.consumer.ConsumeFromWhere; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.protocol.heartbeat.ConsumeType; import org.apache.rocketmq.remoting.protocol.heartbeat.MessageModel; @@ -37,7 +37,7 @@ import org.apache.rocketmq.remoting.protocol.heartbeat.SubscriptionData; import org.apache.rocketmq.store.stats.BrokerStatsManager; public class ConsumerManager { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private static final long CHANNEL_EXPIRED_TIMEOUT = 1000 * 120; private final ConcurrentMap consumerTable = new ConcurrentHashMap<>(1024); diff --git a/broker/src/main/java/org/apache/rocketmq/broker/client/DefaultConsumerIdsChangeListener.java b/broker/src/main/java/org/apache/rocketmq/broker/client/DefaultConsumerIdsChangeListener.java index 344ad40b37..40df2dc025 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/client/DefaultConsumerIdsChangeListener.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/client/DefaultConsumerIdsChangeListener.java @@ -28,12 +28,12 @@ import org.apache.rocketmq.broker.BrokerController; import org.apache.rocketmq.common.AbstractBrokerRunnable; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.utils.ThreadUtils; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.heartbeat.SubscriptionData; public class DefaultConsumerIdsChangeListener implements ConsumerIdsChangeListener { - private static final Logger log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private final BrokerController brokerController; private final int cacheSize = 8096; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/client/ProducerManager.java b/broker/src/main/java/org/apache/rocketmq/broker/client/ProducerManager.java index 3f12c294e6..d8a36e8d95 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/client/ProducerManager.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/client/ProducerManager.java @@ -28,15 +28,15 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; import org.apache.rocketmq.broker.util.PositiveAtomicCounter; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.protocol.body.ProducerInfo; import org.apache.rocketmq.remoting.protocol.body.ProducerTableInfo; import org.apache.rocketmq.store.stats.BrokerStatsManager; public class ProducerManager { - private static final Logger log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private static final long CHANNEL_EXPIRED_TIMEOUT = 1000 * 120; private static final int GET_AVAILABLE_CHANNEL_RETRY_COUNT = 3; private final ConcurrentHashMap> groupChannelTable = diff --git a/broker/src/main/java/org/apache/rocketmq/broker/client/net/Broker2Client.java b/broker/src/main/java/org/apache/rocketmq/broker/client/net/Broker2Client.java index 6e1f063e16..8668761ed7 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/client/net/Broker2Client.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/client/net/Broker2Client.java @@ -34,8 +34,8 @@ import org.apache.rocketmq.common.message.MessageDecoder; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.common.message.MessageQueueForC; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.exception.RemotingSendRequestException; import org.apache.rocketmq.remoting.exception.RemotingTimeoutException; @@ -51,7 +51,7 @@ import org.apache.rocketmq.remoting.protocol.header.NotifyConsumerIdsChangedRequ import org.apache.rocketmq.remoting.protocol.header.ResetOffsetRequestHeader; public class Broker2Client { - private static final Logger log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private final BrokerController brokerController; public Broker2Client(BrokerController brokerController) { diff --git a/broker/src/main/java/org/apache/rocketmq/broker/client/rebalance/RebalanceLockManager.java b/broker/src/main/java/org/apache/rocketmq/broker/client/rebalance/RebalanceLockManager.java index 31fa53c256..b4942e8279 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/client/rebalance/RebalanceLockManager.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/client/rebalance/RebalanceLockManager.java @@ -18,8 +18,8 @@ package org.apache.rocketmq.broker.client.rebalance; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import java.util.HashSet; import java.util.Set; @@ -29,7 +29,7 @@ import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class RebalanceLockManager { - private static final Logger log = LoggerFactory.getLogger(LoggerName.REBALANCE_LOCK_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.REBALANCE_LOCK_LOGGER_NAME); private final static long REBALANCE_LOCK_MAX_LIVE_TIME = Long.parseLong(System.getProperty( "rocketmq.broker.rebalance.lockMaxLiveTime", "60000")); private final Lock lock = new ReentrantLock(); diff --git a/broker/src/main/java/org/apache/rocketmq/broker/controller/ReplicasManager.java b/broker/src/main/java/org/apache/rocketmq/broker/controller/ReplicasManager.java index 6754a50f57..4bfb9fdf14 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/controller/ReplicasManager.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/controller/ReplicasManager.java @@ -36,8 +36,8 @@ import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.Pair; import org.apache.rocketmq.common.ThreadFactoryImpl; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.EpochEntry; import org.apache.rocketmq.remoting.protocol.body.SyncStateSet; import org.apache.rocketmq.remoting.protocol.header.namesrv.controller.GetMetaDataResponseHeader; @@ -55,7 +55,7 @@ import static org.apache.rocketmq.remoting.protocol.ResponseCode.CONTROLLER_BROK * syncStateSet, only master will start this timed task. */ public class ReplicasManager { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private static final int RETRY_INTERVAL_SECOND = 5; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/dledger/DLedgerRoleChangeHandler.java b/broker/src/main/java/org/apache/rocketmq/broker/dledger/DLedgerRoleChangeHandler.java index bafdf8ec66..5bfe49671d 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/dledger/DLedgerRoleChangeHandler.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/dledger/DLedgerRoleChangeHandler.java @@ -27,15 +27,15 @@ import java.util.concurrent.TimeUnit; import org.apache.rocketmq.broker.BrokerController; import org.apache.rocketmq.common.ThreadFactoryImpl; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.DefaultMessageStore; import org.apache.rocketmq.store.config.BrokerRole; import org.apache.rocketmq.store.dledger.DLedgerCommitLog; public class DLedgerRoleChangeHandler implements DLedgerLeaderElector.RoleChangeHandler { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private ExecutorService executorService; private BrokerController brokerController; private DefaultMessageStore messageStore; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/failover/EscapeBridge.java b/broker/src/main/java/org/apache/rocketmq/broker/failover/EscapeBridge.java index ff5e4d9384..913c7a3d52 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/failover/EscapeBridge.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/failover/EscapeBridge.java @@ -44,8 +44,8 @@ import org.apache.rocketmq.common.message.MessageDecoder; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageExtBrokerInner; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.exception.RemotingException; import org.apache.rocketmq.store.GetMessageResult; import org.apache.rocketmq.store.MessageStore; @@ -53,7 +53,7 @@ import org.apache.rocketmq.store.PutMessageResult; import org.apache.rocketmq.store.PutMessageStatus; public class EscapeBridge { - protected static final Logger LOG = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + protected static final InternalLogger LOG = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private static final long SEND_TIMEOUT = 3000L; private static final long DEFAULT_PULL_TIMEOUT_MILLIS = 1000 * 10L; private final String innerProducerGroupName; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/filter/CommitLogDispatcherCalcBitMap.java b/broker/src/main/java/org/apache/rocketmq/broker/filter/CommitLogDispatcherCalcBitMap.java index 6df9b010b9..d82c53fd90 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/filter/CommitLogDispatcherCalcBitMap.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/filter/CommitLogDispatcherCalcBitMap.java @@ -20,8 +20,8 @@ package org.apache.rocketmq.broker.filter; import org.apache.rocketmq.common.BrokerConfig; import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.filter.util.BitsArray; import org.apache.rocketmq.store.CommitLogDispatcher; import org.apache.rocketmq.store.DispatchRequest; @@ -34,7 +34,7 @@ import java.util.Iterator; */ public class CommitLogDispatcherCalcBitMap implements CommitLogDispatcher { - private static final Logger log = LoggerFactory.getLogger(LoggerName.FILTER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.FILTER_LOGGER_NAME); protected final BrokerConfig brokerConfig; protected final ConsumerFilterManager consumerFilterManager; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/filter/ConsumerFilterManager.java b/broker/src/main/java/org/apache/rocketmq/broker/filter/ConsumerFilterManager.java index 84d9558b45..533cd52e00 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/filter/ConsumerFilterManager.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/filter/ConsumerFilterManager.java @@ -32,8 +32,8 @@ import org.apache.rocketmq.common.filter.ExpressionType; import org.apache.rocketmq.filter.FilterFactory; import org.apache.rocketmq.filter.util.BloomFilter; import org.apache.rocketmq.filter.util.BloomFilterData; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.RemotingSerializable; import org.apache.rocketmq.remoting.protocol.heartbeat.SubscriptionData; @@ -42,7 +42,7 @@ import org.apache.rocketmq.remoting.protocol.heartbeat.SubscriptionData; */ public class ConsumerFilterManager extends ConfigManager { - private static final Logger log = LoggerFactory.getLogger(LoggerName.FILTER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.FILTER_LOGGER_NAME); private static final long MS_24_HOUR = 24 * 3600 * 1000; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/filter/ExpressionMessageFilter.java b/broker/src/main/java/org/apache/rocketmq/broker/filter/ExpressionMessageFilter.java index 9fe887e37f..1e900f3fe4 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/filter/ExpressionMessageFilter.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/filter/ExpressionMessageFilter.java @@ -24,15 +24,15 @@ import org.apache.rocketmq.common.filter.ExpressionType; import org.apache.rocketmq.common.message.MessageDecoder; import org.apache.rocketmq.filter.util.BitsArray; import org.apache.rocketmq.filter.util.BloomFilter; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.heartbeat.SubscriptionData; import org.apache.rocketmq.store.ConsumeQueueExt; import org.apache.rocketmq.store.MessageFilter; public class ExpressionMessageFilter implements MessageFilter { - protected static final Logger log = LoggerFactory.getLogger(LoggerName.FILTER_LOGGER_NAME); + protected static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.FILTER_LOGGER_NAME); protected final SubscriptionData subscriptionData; protected final ConsumerFilterData consumerFilterData; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/filtersrv/FilterServerManager.java b/broker/src/main/java/org/apache/rocketmq/broker/filtersrv/FilterServerManager.java index 6f3ff3432b..af06e2a005 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/filtersrv/FilterServerManager.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/filtersrv/FilterServerManager.java @@ -33,14 +33,14 @@ import org.apache.rocketmq.common.AbstractBrokerRunnable; import org.apache.rocketmq.common.ThreadFactoryImpl; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.utils.NetworkUtil; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; public class FilterServerManager { public static final long FILTER_SERVER_MAX_IDLE_TIME_MILLS = 30000; - private static final Logger log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private final ConcurrentMap filterServerTable = new ConcurrentHashMap<>(16); private final BrokerController brokerController; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/filtersrv/FilterServerUtil.java b/broker/src/main/java/org/apache/rocketmq/broker/filtersrv/FilterServerUtil.java index 84cc7f6418..3f4d24d062 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/filtersrv/FilterServerUtil.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/filtersrv/FilterServerUtil.java @@ -18,10 +18,10 @@ package org.apache.rocketmq.broker.filtersrv; -import org.apache.rocketmq.shade.org.slf4j.Logger; +import org.apache.rocketmq.logging.InternalLogger; public class FilterServerUtil { - public static void callShell(final String shellString, final Logger log) { + public static void callShell(final String shellString, final InternalLogger log) { Process process = null; try { String[] cmdArray = splitShellString(shellString); diff --git a/broker/src/main/java/org/apache/rocketmq/broker/latency/BrokerFastFailure.java b/broker/src/main/java/org/apache/rocketmq/broker/latency/BrokerFastFailure.java index 7df67d83bc..6269a55359 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/latency/BrokerFastFailure.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/latency/BrokerFastFailure.java @@ -25,8 +25,8 @@ import org.apache.rocketmq.common.AbstractBrokerRunnable; import org.apache.rocketmq.common.ThreadFactoryImpl; import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.netty.RequestTask; import org.apache.rocketmq.remoting.protocol.RemotingSysResponseCode; @@ -35,7 +35,7 @@ import org.apache.rocketmq.remoting.protocol.RemotingSysResponseCode; * BrokerController#getPullThreadPoolQueue()} */ public class BrokerFastFailure { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private final ScheduledExecutorService scheduledExecutorService; private final BrokerController brokerController; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/longpolling/LmqPullRequestHoldService.java b/broker/src/main/java/org/apache/rocketmq/broker/longpolling/LmqPullRequestHoldService.java index 075f321dd1..b3eeea2760 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/longpolling/LmqPullRequestHoldService.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/longpolling/LmqPullRequestHoldService.java @@ -19,12 +19,12 @@ package org.apache.rocketmq.broker.longpolling; import org.apache.rocketmq.broker.BrokerController; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public class LmqPullRequestHoldService extends PullRequestHoldService { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); public LmqPullRequestHoldService(BrokerController brokerController) { super(brokerController); diff --git a/broker/src/main/java/org/apache/rocketmq/broker/longpolling/PullRequestHoldService.java b/broker/src/main/java/org/apache/rocketmq/broker/longpolling/PullRequestHoldService.java index c2677769d6..59b8843248 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/longpolling/PullRequestHoldService.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/longpolling/PullRequestHoldService.java @@ -25,12 +25,12 @@ import org.apache.rocketmq.broker.BrokerController; import org.apache.rocketmq.common.ServiceThread; import org.apache.rocketmq.common.SystemClock; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.ConsumeQueueExt; public class PullRequestHoldService extends ServiceThread { - private static final Logger log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); protected static final String TOPIC_QUEUEID_SEPARATOR = "@"; protected final BrokerController brokerController; private final SystemClock systemClock = new SystemClock(); diff --git a/broker/src/main/java/org/apache/rocketmq/broker/metrics/BrokerMetricsManager.java b/broker/src/main/java/org/apache/rocketmq/broker/metrics/BrokerMetricsManager.java index adb3a84965..4dd0ebaaff 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/metrics/BrokerMetricsManager.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/metrics/BrokerMetricsManager.java @@ -56,8 +56,8 @@ import org.apache.rocketmq.common.metrics.NopLongCounter; import org.apache.rocketmq.common.metrics.NopLongHistogram; import org.apache.rocketmq.common.metrics.NopObservableLongGauge; import org.apache.rocketmq.common.topic.TopicValidator; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.metrics.RemotingMetricsManager; import org.apache.rocketmq.remoting.protocol.header.SendMessageRequestHeader; import org.apache.rocketmq.store.DefaultMessageStore; @@ -97,7 +97,7 @@ import static org.apache.rocketmq.remoting.metrics.RemotingMetricsConstant.LABEL import static org.apache.rocketmq.remoting.metrics.RemotingMetricsConstant.PROTOCOL_TYPE_REMOTING; public class BrokerMetricsManager { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private final BrokerConfig brokerConfig; private final MessageStore messageStore; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/metrics/ConsumerLagCalculator.java b/broker/src/main/java/org/apache/rocketmq/broker/metrics/ConsumerLagCalculator.java index 51af5f36b6..5a6cdda5a0 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/metrics/ConsumerLagCalculator.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/metrics/ConsumerLagCalculator.java @@ -33,8 +33,8 @@ import org.apache.rocketmq.common.Pair; import org.apache.rocketmq.common.TopicConfig; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.constant.PermName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.subscription.SubscriptionGroupConfig; import org.apache.rocketmq.store.MessageStore; import org.apache.rocketmq.store.queue.ConsumeQueueInterface; @@ -49,7 +49,7 @@ public class ConsumerLagCalculator { private final MessageStore messageStore; private final PopBufferMergeService popBufferMergeService; - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); public ConsumerLagCalculator(BrokerController brokerController) { this.brokerConfig = brokerController.getBrokerConfig(); diff --git a/broker/src/main/java/org/apache/rocketmq/broker/offset/ConsumerOffsetManager.java b/broker/src/main/java/org/apache/rocketmq/broker/offset/ConsumerOffsetManager.java index 70f862506a..06fdde862a 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/offset/ConsumerOffsetManager.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/offset/ConsumerOffsetManager.java @@ -31,13 +31,13 @@ import org.apache.rocketmq.broker.BrokerPathConfigHelper; import org.apache.rocketmq.common.ConfigManager; import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.DataVersion; import org.apache.rocketmq.remoting.protocol.RemotingSerializable; public class ConsumerOffsetManager extends ConfigManager { - private static final Logger LOG = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger LOG = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); public static final String TOPIC_GROUP_SEPARATOR = "@"; private DataVersion dataVersion = new DataVersion(); diff --git a/broker/src/main/java/org/apache/rocketmq/broker/offset/ConsumerOrderInfoLockManager.java b/broker/src/main/java/org/apache/rocketmq/broker/offset/ConsumerOrderInfoLockManager.java index 194c361c4e..3cd8dcdb1b 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/offset/ConsumerOrderInfoLockManager.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/offset/ConsumerOrderInfoLockManager.java @@ -29,11 +29,11 @@ import java.util.concurrent.TimeUnit; import org.apache.rocketmq.broker.BrokerController; import org.apache.rocketmq.common.ThreadFactoryImpl; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public class ConsumerOrderInfoLockManager { - private static final Logger POP_LOGGER = LoggerFactory.getLogger(LoggerName.ROCKETMQ_POP_LOGGER_NAME); + private static final InternalLogger POP_LOGGER = InternalLoggerFactory.getLogger(LoggerName.ROCKETMQ_POP_LOGGER_NAME); private final BrokerController brokerController; private final Map timeoutMap = new ConcurrentHashMap<>(); private final Timer timer; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/offset/ConsumerOrderInfoManager.java b/broker/src/main/java/org/apache/rocketmq/broker/offset/ConsumerOrderInfoManager.java index 3a496b9200..f809492305 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/offset/ConsumerOrderInfoManager.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/offset/ConsumerOrderInfoManager.java @@ -32,14 +32,14 @@ import org.apache.rocketmq.broker.BrokerPathConfigHelper; import org.apache.rocketmq.common.ConfigManager; import org.apache.rocketmq.common.TopicConfig; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.RemotingSerializable; import org.apache.rocketmq.remoting.protocol.header.ExtraInfoUtil; public class ConsumerOrderInfoManager extends ConfigManager { - private static final Logger log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private static final String TOPIC_GROUP_SEPARATOR = "@"; private static final long CLEAN_SPAN_FROM_LAST = 24 * 3600 * 1000; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/out/BrokerOuterAPI.java b/broker/src/main/java/org/apache/rocketmq/broker/out/BrokerOuterAPI.java index 80f670fd04..96def3f57b 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/out/BrokerOuterAPI.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/out/BrokerOuterAPI.java @@ -58,8 +58,8 @@ import org.apache.rocketmq.common.namesrv.DefaultTopAddressing; import org.apache.rocketmq.common.namesrv.TopAddressing; import org.apache.rocketmq.common.sysflag.PullSysFlag; import org.apache.rocketmq.common.topic.TopicValidator; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.InvokeCallback; import org.apache.rocketmq.remoting.RPCHook; import org.apache.rocketmq.remoting.RemotingClient; @@ -132,7 +132,7 @@ import static org.apache.rocketmq.remoting.protocol.ResponseCode.CONTROLLER_BROK import static org.apache.rocketmq.remoting.protocol.ResponseCode.CONTROLLER_NOT_LEADER; public class BrokerOuterAPI { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private final RemotingClient remotingClient; private final TopAddressing topAddressing = new DefaultTopAddressing(MixAll.getWSAddr()); private String nameSrvAddr = null; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/processor/AbstractSendMessageProcessor.java b/broker/src/main/java/org/apache/rocketmq/broker/processor/AbstractSendMessageProcessor.java index aa075e6dd1..84d9ab785d 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/processor/AbstractSendMessageProcessor.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/processor/AbstractSendMessageProcessor.java @@ -47,8 +47,8 @@ import org.apache.rocketmq.common.message.MessageType; import org.apache.rocketmq.common.sysflag.MessageSysFlag; import org.apache.rocketmq.common.sysflag.TopicSysFlag; import org.apache.rocketmq.common.topic.TopicValidator; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.netty.NettyRemotingAbstract; @@ -64,8 +64,8 @@ import org.apache.rocketmq.store.PutMessageResult; import org.apache.rocketmq.store.stats.BrokerStatsManager; public abstract class AbstractSendMessageProcessor implements NettyRequestProcessor { - protected static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); - protected static final Logger DLQ_LOG = LoggerFactory.getLogger(LoggerName.DLQ_LOGGER_NAME); + protected static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + protected static final InternalLogger DLQ_LOG = InternalLoggerFactory.getLogger(LoggerName.DLQ_LOGGER_NAME); protected List consumeMessageHookList; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/processor/AckMessageProcessor.java b/broker/src/main/java/org/apache/rocketmq/broker/processor/AckMessageProcessor.java index 586c461556..6c5ec933c6 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/processor/AckMessageProcessor.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/processor/AckMessageProcessor.java @@ -29,8 +29,8 @@ import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.message.MessageDecoder; import org.apache.rocketmq.common.message.MessageExtBrokerInner; import org.apache.rocketmq.common.utils.DataConverter; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.netty.NettyRequestProcessor; @@ -43,7 +43,7 @@ import org.apache.rocketmq.store.PutMessageStatus; import org.apache.rocketmq.store.pop.AckMsg; public class AckMessageProcessor implements NettyRequestProcessor { - private static final Logger POP_LOGGER = LoggerFactory.getLogger(LoggerName.ROCKETMQ_POP_LOGGER_NAME); + private static final InternalLogger POP_LOGGER = InternalLoggerFactory.getLogger(LoggerName.ROCKETMQ_POP_LOGGER_NAME); private final BrokerController brokerController; private String reviveTopic; private PopReviveService[] popReviveServices; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/processor/AdminBrokerProcessor.java b/broker/src/main/java/org/apache/rocketmq/broker/processor/AdminBrokerProcessor.java index 7415075d6e..60cc9c7ea3 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/processor/AdminBrokerProcessor.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/processor/AdminBrokerProcessor.java @@ -72,8 +72,8 @@ import org.apache.rocketmq.common.stats.StatsItem; import org.apache.rocketmq.common.stats.StatsSnapshot; import org.apache.rocketmq.common.topic.TopicValidator; import org.apache.rocketmq.filter.util.BitsArray; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.exception.RemotingTimeoutException; @@ -189,7 +189,7 @@ import org.apache.rocketmq.store.timer.TimerMessageStore; import static org.apache.rocketmq.remoting.protocol.RemotingCommand.buildErrorResponse; public class AdminBrokerProcessor implements NettyRequestProcessor { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); protected final BrokerController brokerController; public AdminBrokerProcessor(final BrokerController brokerController) { diff --git a/broker/src/main/java/org/apache/rocketmq/broker/processor/ChangeInvisibleTimeProcessor.java b/broker/src/main/java/org/apache/rocketmq/broker/processor/ChangeInvisibleTimeProcessor.java index 7494bdd7c8..6f4853f277 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/processor/ChangeInvisibleTimeProcessor.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/processor/ChangeInvisibleTimeProcessor.java @@ -28,8 +28,8 @@ import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.message.MessageDecoder; import org.apache.rocketmq.common.message.MessageExtBrokerInner; import org.apache.rocketmq.common.utils.DataConverter; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.netty.NettyRequestProcessor; @@ -44,7 +44,7 @@ import org.apache.rocketmq.store.pop.AckMsg; import org.apache.rocketmq.store.pop.PopCheckPoint; public class ChangeInvisibleTimeProcessor implements NettyRequestProcessor { - private static final Logger POP_LOGGER = LoggerFactory.getLogger(LoggerName.ROCKETMQ_POP_LOGGER_NAME); + private static final InternalLogger POP_LOGGER = InternalLoggerFactory.getLogger(LoggerName.ROCKETMQ_POP_LOGGER_NAME); private final BrokerController brokerController; private final String reviveTopic; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/processor/ClientManageProcessor.java b/broker/src/main/java/org/apache/rocketmq/broker/processor/ClientManageProcessor.java index 07807a22f4..468ab86f9b 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/processor/ClientManageProcessor.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/processor/ClientManageProcessor.java @@ -25,8 +25,8 @@ import org.apache.rocketmq.common.constant.PermName; import org.apache.rocketmq.common.filter.ExpressionType; import org.apache.rocketmq.common.sysflag.TopicSysFlag; import org.apache.rocketmq.filter.FilterFactory; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.netty.NettyRequestProcessor; @@ -44,7 +44,7 @@ import org.apache.rocketmq.remoting.protocol.heartbeat.SubscriptionData; import org.apache.rocketmq.remoting.protocol.subscription.SubscriptionGroupConfig; public class ClientManageProcessor implements NettyRequestProcessor { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private final BrokerController brokerController; public ClientManageProcessor(final BrokerController brokerController) { diff --git a/broker/src/main/java/org/apache/rocketmq/broker/processor/ConsumerManageProcessor.java b/broker/src/main/java/org/apache/rocketmq/broker/processor/ConsumerManageProcessor.java index 0af0038274..0363aca1e8 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/processor/ConsumerManageProcessor.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/processor/ConsumerManageProcessor.java @@ -22,8 +22,8 @@ import org.apache.rocketmq.broker.BrokerController; import org.apache.rocketmq.broker.client.ConsumerGroupInfo; import org.apache.rocketmq.broker.offset.ConsumerOffsetManager; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.netty.NettyRequestProcessor; @@ -48,7 +48,7 @@ import org.apache.rocketmq.remoting.rpc.RpcResponse; import static org.apache.rocketmq.remoting.protocol.RemotingCommand.buildErrorResponse; public class ConsumerManageProcessor implements NettyRequestProcessor { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private final BrokerController brokerController; public ConsumerManageProcessor(final BrokerController brokerController) { diff --git a/broker/src/main/java/org/apache/rocketmq/broker/processor/DefaultPullMessageResultHandler.java b/broker/src/main/java/org/apache/rocketmq/broker/processor/DefaultPullMessageResultHandler.java index af0c81ec20..bd59d42c6a 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/processor/DefaultPullMessageResultHandler.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/processor/DefaultPullMessageResultHandler.java @@ -39,8 +39,8 @@ import org.apache.rocketmq.common.sysflag.MessageSysFlag; import org.apache.rocketmq.common.sysflag.PullSysFlag; import org.apache.rocketmq.common.topic.TopicValidator; import org.apache.rocketmq.common.utils.NetworkUtil; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.metrics.RemotingMetricsManager; import org.apache.rocketmq.remoting.protocol.RemotingCommand; import org.apache.rocketmq.remoting.protocol.ResponseCode; @@ -63,7 +63,7 @@ import static org.apache.rocketmq.remoting.metrics.RemotingMetricsConstant.LABEL public class DefaultPullMessageResultHandler implements PullMessageResultHandler { - protected static final Logger log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + protected static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); protected final BrokerController brokerController; public DefaultPullMessageResultHandler(final BrokerController brokerController) { diff --git a/broker/src/main/java/org/apache/rocketmq/broker/processor/EndTransactionProcessor.java b/broker/src/main/java/org/apache/rocketmq/broker/processor/EndTransactionProcessor.java index 960023508b..dfaa473e30 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/processor/EndTransactionProcessor.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/processor/EndTransactionProcessor.java @@ -27,8 +27,8 @@ import org.apache.rocketmq.common.message.MessageDecoder; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageExtBrokerInner; import org.apache.rocketmq.common.sysflag.MessageSysFlag; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.netty.NettyRequestProcessor; @@ -42,7 +42,7 @@ import org.apache.rocketmq.store.config.BrokerRole; * EndTransaction processor: process commit and rollback message */ public class EndTransactionProcessor implements NettyRequestProcessor { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.TRANSACTION_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.TRANSACTION_LOGGER_NAME); private final BrokerController brokerController; public EndTransactionProcessor(final BrokerController brokerController) { diff --git a/broker/src/main/java/org/apache/rocketmq/broker/processor/ForwardRequestProcessor.java b/broker/src/main/java/org/apache/rocketmq/broker/processor/ForwardRequestProcessor.java index 7af75d3aff..b0f0a05455 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/processor/ForwardRequestProcessor.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/processor/ForwardRequestProcessor.java @@ -19,13 +19,13 @@ package org.apache.rocketmq.broker.processor; import io.netty.channel.ChannelHandlerContext; import org.apache.rocketmq.broker.BrokerController; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.netty.NettyRequestProcessor; import org.apache.rocketmq.remoting.protocol.RemotingCommand; public class ForwardRequestProcessor implements NettyRequestProcessor { - private static final Logger log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private final BrokerController brokerController; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/processor/NotificationProcessor.java b/broker/src/main/java/org/apache/rocketmq/broker/processor/NotificationProcessor.java index 6c9205a001..1db2230687 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/processor/NotificationProcessor.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/processor/NotificationProcessor.java @@ -32,8 +32,8 @@ import org.apache.rocketmq.common.TopicConfig; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.constant.PermName; import org.apache.rocketmq.common.help.FAQUrl; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.netty.NettyRemotingAbstract; @@ -46,7 +46,7 @@ import org.apache.rocketmq.remoting.protocol.header.NotificationResponseHeader; import org.apache.rocketmq.remoting.protocol.subscription.SubscriptionGroupConfig; public class NotificationProcessor implements NettyRequestProcessor { - private static final Logger POP_LOGGER = LoggerFactory.getLogger(LoggerName.ROCKETMQ_POP_LOGGER_NAME); + private static final InternalLogger POP_LOGGER = InternalLoggerFactory.getLogger(LoggerName.ROCKETMQ_POP_LOGGER_NAME); private final BrokerController brokerController; private Random random = new Random(System.currentTimeMillis()); private static final String BORN_TIME = "bornTime"; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/processor/PeekMessageProcessor.java b/broker/src/main/java/org/apache/rocketmq/broker/processor/PeekMessageProcessor.java index 9bf19d8077..22863825cc 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/processor/PeekMessageProcessor.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/processor/PeekMessageProcessor.java @@ -36,8 +36,8 @@ import org.apache.rocketmq.common.constant.PermName; import org.apache.rocketmq.common.help.FAQUrl; import org.apache.rocketmq.common.message.MessageDecoder; import org.apache.rocketmq.common.topic.TopicValidator; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.metrics.RemotingMetricsManager; @@ -59,7 +59,7 @@ import static org.apache.rocketmq.remoting.metrics.RemotingMetricsConstant.LABEL import static org.apache.rocketmq.remoting.metrics.RemotingMetricsConstant.LABEL_RESULT; public class PeekMessageProcessor implements NettyRequestProcessor { - private static final Logger LOG = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger LOG = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private final BrokerController brokerController; private Random random = new Random(System.currentTimeMillis()); diff --git a/broker/src/main/java/org/apache/rocketmq/broker/processor/PollingInfoProcessor.java b/broker/src/main/java/org/apache/rocketmq/broker/processor/PollingInfoProcessor.java index 8d2703d01c..bd3bf62780 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/processor/PollingInfoProcessor.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/processor/PollingInfoProcessor.java @@ -26,8 +26,8 @@ import org.apache.rocketmq.common.TopicConfig; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.constant.PermName; import org.apache.rocketmq.common.help.FAQUrl; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.netty.NettyRequestProcessor; @@ -38,7 +38,7 @@ import org.apache.rocketmq.remoting.protocol.header.PollingInfoResponseHeader; import org.apache.rocketmq.remoting.protocol.subscription.SubscriptionGroupConfig; public class PollingInfoProcessor implements NettyRequestProcessor { - private static final Logger POP_LOGGER = LoggerFactory.getLogger(LoggerName.ROCKETMQ_POP_LOGGER_NAME); + private static final InternalLogger POP_LOGGER = InternalLoggerFactory.getLogger(LoggerName.ROCKETMQ_POP_LOGGER_NAME); private final BrokerController brokerController; public PollingInfoProcessor(final BrokerController brokerController) { diff --git a/broker/src/main/java/org/apache/rocketmq/broker/processor/PopBufferMergeService.java b/broker/src/main/java/org/apache/rocketmq/broker/processor/PopBufferMergeService.java index 40ea99b2ed..3a1d8baea5 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/processor/PopBufferMergeService.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/processor/PopBufferMergeService.java @@ -31,8 +31,8 @@ import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.message.MessageDecoder; import org.apache.rocketmq.common.utils.DataConverter; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.common.message.MessageExtBrokerInner; import org.apache.rocketmq.store.PutMessageResult; import org.apache.rocketmq.store.PutMessageStatus; @@ -41,7 +41,7 @@ import org.apache.rocketmq.store.pop.AckMsg; import org.apache.rocketmq.store.pop.PopCheckPoint; public class PopBufferMergeService extends ServiceThread { - private static final Logger POP_LOGGER = LoggerFactory.getLogger(LoggerName.ROCKETMQ_POP_LOGGER_NAME); + private static final InternalLogger POP_LOGGER = InternalLoggerFactory.getLogger(LoggerName.ROCKETMQ_POP_LOGGER_NAME); ConcurrentHashMap buffer = new ConcurrentHashMap<>(1024 * 16); ConcurrentHashMap> commitOffsets = diff --git a/broker/src/main/java/org/apache/rocketmq/broker/processor/PopMessageProcessor.java b/broker/src/main/java/org/apache/rocketmq/broker/processor/PopMessageProcessor.java index 7251c616bb..f0f23e75e3 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/processor/PopMessageProcessor.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/processor/PopMessageProcessor.java @@ -55,8 +55,8 @@ import org.apache.rocketmq.common.message.MessageDecoder; import org.apache.rocketmq.common.message.MessageExtBrokerInner; import org.apache.rocketmq.common.topic.TopicValidator; import org.apache.rocketmq.common.utils.DataConverter; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.metrics.RemotingMetricsManager; @@ -85,8 +85,8 @@ import static org.apache.rocketmq.remoting.metrics.RemotingMetricsConstant.LABEL import static org.apache.rocketmq.remoting.metrics.RemotingMetricsConstant.LABEL_RESULT; public class PopMessageProcessor implements NettyRequestProcessor { - private static final Logger POP_LOGGER = - LoggerFactory.getLogger(LoggerName.ROCKETMQ_POP_LOGGER_NAME); + private static final InternalLogger POP_LOGGER = + InternalLoggerFactory.getLogger(LoggerName.ROCKETMQ_POP_LOGGER_NAME); private final BrokerController brokerController; private Random random = new Random(System.currentTimeMillis()); String reviveTopic; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/processor/PopReviveService.java b/broker/src/main/java/org/apache/rocketmq/broker/processor/PopReviveService.java index 50489e2304..96ea64aa9c 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/processor/PopReviveService.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/processor/PopReviveService.java @@ -42,8 +42,8 @@ import org.apache.rocketmq.common.message.MessageDecoder; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.topic.TopicValidator; import org.apache.rocketmq.common.utils.DataConverter; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.AppendMessageStatus; import org.apache.rocketmq.store.GetMessageResult; import org.apache.rocketmq.common.message.MessageExtBrokerInner; @@ -56,7 +56,7 @@ import static org.apache.rocketmq.broker.metrics.BrokerMetricsConstant.LABEL_IS_ import static org.apache.rocketmq.broker.metrics.BrokerMetricsConstant.LABEL_TOPIC; public class PopReviveService extends ServiceThread { - private static final Logger POP_LOGGER = LoggerFactory.getLogger(LoggerName.ROCKETMQ_POP_LOGGER_NAME); + private static final InternalLogger POP_LOGGER = InternalLoggerFactory.getLogger(LoggerName.ROCKETMQ_POP_LOGGER_NAME); private int queueId; private BrokerController brokerController; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/processor/PullMessageProcessor.java b/broker/src/main/java/org/apache/rocketmq/broker/processor/PullMessageProcessor.java index 6d595e46f6..5fa604111d 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/processor/PullMessageProcessor.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/processor/PullMessageProcessor.java @@ -38,8 +38,8 @@ import org.apache.rocketmq.common.constant.PermName; import org.apache.rocketmq.common.filter.ExpressionType; import org.apache.rocketmq.common.help.FAQUrl; import org.apache.rocketmq.common.sysflag.PullSysFlag; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.netty.NettyRemotingAbstract; @@ -75,7 +75,7 @@ import org.apache.rocketmq.store.stats.BrokerStatsManager; import static org.apache.rocketmq.remoting.protocol.RemotingCommand.buildErrorResponse; public class PullMessageProcessor implements NettyRequestProcessor { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private List consumeMessageHookList; private PullMessageResultHandler pullMessageResultHandler; private final BrokerController brokerController; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/processor/QueryAssignmentProcessor.java b/broker/src/main/java/org/apache/rocketmq/broker/processor/QueryAssignmentProcessor.java index 8ecc3f0f55..28c32ad628 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/processor/QueryAssignmentProcessor.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/processor/QueryAssignmentProcessor.java @@ -37,8 +37,8 @@ import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.common.message.MessageQueueAssignment; import org.apache.rocketmq.common.message.MessageRequestMode; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.netty.NettyRequestProcessor; @@ -51,7 +51,7 @@ import org.apache.rocketmq.remoting.protocol.body.SetMessageRequestModeRequestBo import org.apache.rocketmq.remoting.protocol.heartbeat.MessageModel; public class QueryAssignmentProcessor implements NettyRequestProcessor { - private static final Logger log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private final BrokerController brokerController; @@ -64,9 +64,9 @@ public class QueryAssignmentProcessor implements NettyRequestProcessor { //register strategy //NOTE: init with broker's log instead of init with ClientLogger.getLog(); - AllocateMessageQueueAveragely allocateMessageQueueAveragely = new AllocateMessageQueueAveragely(); + AllocateMessageQueueAveragely allocateMessageQueueAveragely = new AllocateMessageQueueAveragely(log); name2LoadStrategy.put(allocateMessageQueueAveragely.getName(), allocateMessageQueueAveragely); - AllocateMessageQueueAveragelyByCircle allocateMessageQueueAveragelyByCircle = new AllocateMessageQueueAveragelyByCircle(); + AllocateMessageQueueAveragelyByCircle allocateMessageQueueAveragelyByCircle = new AllocateMessageQueueAveragelyByCircle(log); name2LoadStrategy.put(allocateMessageQueueAveragelyByCircle.getName(), allocateMessageQueueAveragelyByCircle); this.messageRequestModeManager = new MessageRequestModeManager(brokerController); diff --git a/broker/src/main/java/org/apache/rocketmq/broker/processor/QueryMessageProcessor.java b/broker/src/main/java/org/apache/rocketmq/broker/processor/QueryMessageProcessor.java index 1a271cfb06..f027a687da 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/processor/QueryMessageProcessor.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/processor/QueryMessageProcessor.java @@ -26,8 +26,8 @@ import org.apache.rocketmq.broker.pagecache.OneMessageTransfer; import org.apache.rocketmq.broker.pagecache.QueryMessageTransfer; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.metrics.RemotingMetricsManager; import org.apache.rocketmq.remoting.netty.NettyRequestProcessor; @@ -45,7 +45,7 @@ import static org.apache.rocketmq.remoting.metrics.RemotingMetricsConstant.LABEL import static org.apache.rocketmq.remoting.metrics.RemotingMetricsConstant.LABEL_RESULT; public class QueryMessageProcessor implements NettyRequestProcessor { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private final BrokerController brokerController; public QueryMessageProcessor(final BrokerController brokerController) { diff --git a/broker/src/main/java/org/apache/rocketmq/broker/processor/ReplyMessageProcessor.java b/broker/src/main/java/org/apache/rocketmq/broker/processor/ReplyMessageProcessor.java index d16a9a69a9..91d3bb7848 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/processor/ReplyMessageProcessor.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/processor/ReplyMessageProcessor.java @@ -36,8 +36,8 @@ import org.apache.rocketmq.common.message.MessageDecoder; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageExtBrokerInner; import org.apache.rocketmq.common.topic.TopicValidator; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.exception.RemotingException; import org.apache.rocketmq.remoting.protocol.RemotingCommand; @@ -55,7 +55,7 @@ import static org.apache.rocketmq.broker.metrics.BrokerMetricsConstant.LABEL_MES import static org.apache.rocketmq.broker.metrics.BrokerMetricsConstant.LABEL_TOPIC; public class ReplyMessageProcessor extends AbstractSendMessageProcessor { - private static final Logger log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); public ReplyMessageProcessor(final BrokerController brokerController) { super(brokerController); diff --git a/broker/src/main/java/org/apache/rocketmq/broker/schedule/ScheduleMessageService.java b/broker/src/main/java/org/apache/rocketmq/broker/schedule/ScheduleMessageService.java index bb7db9ea7b..4bf09b8b68 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/schedule/ScheduleMessageService.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/schedule/ScheduleMessageService.java @@ -50,8 +50,8 @@ import org.apache.rocketmq.common.message.MessageExtBrokerInner; import org.apache.rocketmq.common.running.RunningStats; import org.apache.rocketmq.common.topic.TopicValidator; import org.apache.rocketmq.common.utils.ThreadUtils; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.DataVersion; import org.apache.rocketmq.store.PutMessageResult; import org.apache.rocketmq.store.PutMessageStatus; @@ -66,7 +66,7 @@ import static org.apache.rocketmq.broker.metrics.BrokerMetricsConstant.LABEL_MES import static org.apache.rocketmq.broker.metrics.BrokerMetricsConstant.LABEL_TOPIC; public class ScheduleMessageService extends ConfigManager { - private static final Logger log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private static final long FIRST_DELAY_TIME = 1000L; private static final long DELAY_FOR_A_WHILE = 100L; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/slave/SlaveSynchronize.java b/broker/src/main/java/org/apache/rocketmq/broker/slave/SlaveSynchronize.java index 7a4a17c416..750b17426b 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/slave/SlaveSynchronize.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/slave/SlaveSynchronize.java @@ -23,8 +23,8 @@ import org.apache.rocketmq.broker.loadbalance.MessageRequestModeManager; import org.apache.rocketmq.broker.subscription.SubscriptionGroupManager; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.body.ConsumerOffsetSerializeWrapper; import org.apache.rocketmq.remoting.protocol.body.MessageRequestModeSerializeWrapper; import org.apache.rocketmq.remoting.protocol.body.SubscriptionGroupWrapper; @@ -34,7 +34,7 @@ import org.apache.rocketmq.store.timer.TimerCheckpoint; import org.apache.rocketmq.store.timer.TimerMetrics; public class SlaveSynchronize { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private final BrokerController brokerController; private volatile String masterAddr = null; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/subscription/SubscriptionGroupManager.java b/broker/src/main/java/org/apache/rocketmq/broker/subscription/SubscriptionGroupManager.java index 4a097546b7..3b153ef2db 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/subscription/SubscriptionGroupManager.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/subscription/SubscriptionGroupManager.java @@ -26,14 +26,14 @@ import org.apache.rocketmq.broker.BrokerPathConfigHelper; import org.apache.rocketmq.common.ConfigManager; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.DataVersion; import org.apache.rocketmq.remoting.protocol.RemotingSerializable; import org.apache.rocketmq.remoting.protocol.subscription.SubscriptionGroupConfig; public class SubscriptionGroupManager extends ConfigManager { - private static final Logger log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private final ConcurrentMap subscriptionGroupTable = new ConcurrentHashMap<>(1024); diff --git a/broker/src/main/java/org/apache/rocketmq/broker/topic/TopicConfigManager.java b/broker/src/main/java/org/apache/rocketmq/broker/topic/TopicConfigManager.java index 90c029baee..6eb10f5923 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/topic/TopicConfigManager.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/topic/TopicConfigManager.java @@ -42,8 +42,8 @@ import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.constant.PermName; import org.apache.rocketmq.common.sysflag.TopicSysFlag; import org.apache.rocketmq.common.topic.TopicValidator; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.DataVersion; import org.apache.rocketmq.remoting.protocol.body.KVTable; import org.apache.rocketmq.remoting.protocol.body.TopicConfigSerializeWrapper; @@ -51,7 +51,7 @@ import org.apache.rocketmq.remoting.protocol.body.TopicConfigSerializeWrapper; import static com.google.common.base.Preconditions.checkNotNull; public class TopicConfigManager extends ConfigManager { - private static final Logger log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private static final long LOCK_TIMEOUT_MILLIS = 3000; private static final int SCHEDULE_TOPIC_QUEUE_NUM = 18; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/topic/TopicQueueMappingCleanService.java b/broker/src/main/java/org/apache/rocketmq/broker/topic/TopicQueueMappingCleanService.java index 98e50d42aa..e08adbcb68 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/topic/TopicQueueMappingCleanService.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/topic/TopicQueueMappingCleanService.java @@ -30,8 +30,8 @@ import org.apache.rocketmq.common.ServiceThread; import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.RequestCode; import org.apache.rocketmq.remoting.protocol.admin.TopicOffset; import org.apache.rocketmq.remoting.protocol.admin.TopicStatsTable; @@ -49,7 +49,7 @@ import org.apache.rocketmq.remoting.rpc.RpcResponse; import org.apache.rocketmq.store.config.MessageStoreConfig; public class TopicQueueMappingCleanService extends ServiceThread { - private static final Logger log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private TopicQueueMappingManager topicQueueMappingManager; private BrokerOuterAPI brokerOuterAPI; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/topic/TopicQueueMappingManager.java b/broker/src/main/java/org/apache/rocketmq/broker/topic/TopicQueueMappingManager.java index 65600e0332..7a8ab7cca8 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/topic/TopicQueueMappingManager.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/topic/TopicQueueMappingManager.java @@ -27,8 +27,8 @@ import org.apache.rocketmq.broker.BrokerController; import org.apache.rocketmq.broker.BrokerPathConfigHelper; import org.apache.rocketmq.common.ConfigManager; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.DataVersion; import org.apache.rocketmq.remoting.protocol.RemotingCommand; import org.apache.rocketmq.remoting.protocol.ResponseCode; @@ -43,7 +43,7 @@ import org.apache.rocketmq.remoting.rpc.TopicRequestHeader; import static org.apache.rocketmq.remoting.protocol.RemotingCommand.buildErrorResponse; public class TopicQueueMappingManager extends ConfigManager { - private static final Logger log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private static final long LOCK_TIMEOUT_MILLIS = 3000; private transient final Lock lock = new ReentrantLock(); diff --git a/broker/src/main/java/org/apache/rocketmq/broker/topic/TopicRouteInfoManager.java b/broker/src/main/java/org/apache/rocketmq/broker/topic/TopicRouteInfoManager.java index a5788738d5..715c8493ad 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/topic/TopicRouteInfoManager.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/topic/TopicRouteInfoManager.java @@ -36,8 +36,8 @@ import org.apache.rocketmq.client.impl.producer.TopicPublishInfo; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.exception.RemotingException; import org.apache.rocketmq.remoting.protocol.NamespaceUtil; import org.apache.rocketmq.remoting.protocol.ResponseCode; @@ -48,7 +48,7 @@ public class TopicRouteInfoManager { private static final long GET_TOPIC_ROUTE_TIMEOUT = 3000L; private static final long LOCK_TIMEOUT_MILLIS = 3000L; - private static final Logger log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private final Lock lockNamesrv = new ReentrantLock(); private final ConcurrentMap topicRouteTable = new ConcurrentHashMap<>(); diff --git a/broker/src/main/java/org/apache/rocketmq/broker/transaction/AbstractTransactionalMessageCheckListener.java b/broker/src/main/java/org/apache/rocketmq/broker/transaction/AbstractTransactionalMessageCheckListener.java index 6549615ea0..91a80f0b8b 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/transaction/AbstractTransactionalMessageCheckListener.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/transaction/AbstractTransactionalMessageCheckListener.java @@ -27,12 +27,12 @@ import org.apache.rocketmq.common.ThreadFactoryImpl; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.message.MessageExt; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.header.CheckTransactionStateRequestHeader; public abstract class AbstractTransactionalMessageCheckListener { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.TRANSACTION_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.TRANSACTION_LOGGER_NAME); private BrokerController brokerController; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/transaction/TransactionalMessageCheckService.java b/broker/src/main/java/org/apache/rocketmq/broker/transaction/TransactionalMessageCheckService.java index 2cbf060f06..6a3c2d2b29 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/transaction/TransactionalMessageCheckService.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/transaction/TransactionalMessageCheckService.java @@ -19,11 +19,11 @@ package org.apache.rocketmq.broker.transaction; import org.apache.rocketmq.broker.BrokerController; import org.apache.rocketmq.common.ServiceThread; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public class TransactionalMessageCheckService extends ServiceThread { - private static final Logger log = LoggerFactory.getLogger(LoggerName.TRANSACTION_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.TRANSACTION_LOGGER_NAME); private BrokerController brokerController; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/DefaultTransactionalMessageCheckListener.java b/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/DefaultTransactionalMessageCheckListener.java index 53080cab2b..a66709a161 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/DefaultTransactionalMessageCheckListener.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/DefaultTransactionalMessageCheckListener.java @@ -24,8 +24,8 @@ import org.apache.rocketmq.common.message.MessageAccessor; import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.message.MessageDecoder; import org.apache.rocketmq.common.message.MessageExt; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.common.message.MessageExtBrokerInner; import org.apache.rocketmq.store.PutMessageResult; import org.apache.rocketmq.store.PutMessageStatus; @@ -33,7 +33,7 @@ import org.apache.rocketmq.store.PutMessageStatus; import java.util.concurrent.ThreadLocalRandom; public class DefaultTransactionalMessageCheckListener extends AbstractTransactionalMessageCheckListener { - private static final Logger log = LoggerFactory.getLogger(LoggerName.TRANSACTION_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.TRANSACTION_LOGGER_NAME); public DefaultTransactionalMessageCheckListener() { super(); diff --git a/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageBridge.java b/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageBridge.java index 3abbc9ced3..21ba11951c 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageBridge.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageBridge.java @@ -44,10 +44,10 @@ import org.apache.rocketmq.common.message.MessageExtBrokerInner; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.common.sysflag.MessageSysFlag; import org.apache.rocketmq.common.topic.TopicValidator; -import org.apache.rocketmq.shade.org.slf4j.Logger; +import org.apache.rocketmq.logging.InnerLoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.protocol.heartbeat.SubscriptionData; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.store.GetMessageResult; import org.apache.rocketmq.store.MessageStore; import org.apache.rocketmq.store.PutMessageResult; @@ -58,7 +58,7 @@ import static org.apache.rocketmq.broker.metrics.BrokerMetricsConstant.LABEL_IS_ import static org.apache.rocketmq.broker.metrics.BrokerMetricsConstant.LABEL_TOPIC; public class TransactionalMessageBridge { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.TRANSACTION_LOGGER_NAME); + private static final InternalLogger LOGGER = InnerLoggerFactory.getLogger(LoggerName.TRANSACTION_LOGGER_NAME); private final ConcurrentHashMap opQueueMap = new ConcurrentHashMap<>(); private final BrokerController brokerController; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageServiceImpl.java b/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageServiceImpl.java index 1a65f97b3d..2ec501633c 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageServiceImpl.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageServiceImpl.java @@ -40,8 +40,8 @@ import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageExtBrokerInner; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.common.topic.TopicValidator; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.ResponseCode; import org.apache.rocketmq.remoting.protocol.header.EndTransactionRequestHeader; import org.apache.rocketmq.store.PutMessageResult; @@ -49,7 +49,7 @@ import org.apache.rocketmq.store.PutMessageStatus; import org.apache.rocketmq.store.config.BrokerRole; public class TransactionalMessageServiceImpl implements TransactionalMessageService { - private static final Logger log = LoggerFactory.getLogger(LoggerName.TRANSACTION_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.TRANSACTION_LOGGER_NAME); private TransactionalMessageBridge transactionalMessageBridge; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalOpBatchService.java b/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalOpBatchService.java index 411a2cf436..dfd0474e4b 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalOpBatchService.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalOpBatchService.java @@ -19,11 +19,11 @@ package org.apache.rocketmq.broker.transaction.queue; import org.apache.rocketmq.broker.BrokerController; import org.apache.rocketmq.common.ServiceThread; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public class TransactionalOpBatchService extends ServiceThread { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.TRANSACTION_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.TRANSACTION_LOGGER_NAME); private BrokerController brokerController; private TransactionalMessageServiceImpl transactionalMessageService; diff --git a/broker/src/main/java/org/apache/rocketmq/broker/util/HookUtils.java b/broker/src/main/java/org/apache/rocketmq/broker/util/HookUtils.java index 72eb086db3..c6f7bfa38c 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/util/HookUtils.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/util/HookUtils.java @@ -32,8 +32,8 @@ import org.apache.rocketmq.common.message.MessageExtBrokerInner; import org.apache.rocketmq.common.sysflag.MessageSysFlag; import org.apache.rocketmq.common.topic.TopicValidator; import org.apache.rocketmq.common.utils.QueueTypeUtils; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.PutMessageResult; import org.apache.rocketmq.store.PutMessageStatus; import org.apache.rocketmq.store.config.BrokerRole; @@ -41,7 +41,7 @@ import org.apache.rocketmq.store.timer.TimerMessageStore; public class HookUtils { - protected static final Logger LOG = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + protected static final InternalLogger LOG = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private static AtomicLong printTimes = new AtomicLong(0); diff --git a/broker/src/test/java/org/apache/rocketmq/broker/util/TransactionalMessageServiceImpl.java b/broker/src/test/java/org/apache/rocketmq/broker/util/TransactionalMessageServiceImpl.java index 8b2d7f1b2b..0f7cc4f70a 100644 --- a/broker/src/test/java/org/apache/rocketmq/broker/util/TransactionalMessageServiceImpl.java +++ b/broker/src/test/java/org/apache/rocketmq/broker/util/TransactionalMessageServiceImpl.java @@ -23,13 +23,13 @@ import org.apache.rocketmq.broker.transaction.TransactionalMessageService; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageExtBrokerInner; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.header.EndTransactionRequestHeader; import org.apache.rocketmq.store.PutMessageResult; public class TransactionalMessageServiceImpl implements TransactionalMessageService { - private static final Logger log = LoggerFactory.getLogger(LoggerName.TRANSACTION_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.TRANSACTION_LOGGER_NAME); @Override public PutMessageResult prepareMessage(MessageExtBrokerInner messageInner) { diff --git a/common/src/test/resources/rmq.logback-test.xml b/broker/src/test/resources/logback-test.xml similarity index 62% rename from common/src/test/resources/rmq.logback-test.xml rename to broker/src/test/resources/logback-test.xml index c3ec0d1e81..7718d4a339 100644 --- a/common/src/test/resources/rmq.logback-test.xml +++ b/broker/src/test/resources/logback-test.xml @@ -15,22 +15,18 @@ See the License for the specific language governing permissions and limitations under the License. --> + - - - - %d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n - - + + + %d{yyy-MM-dd HH:mm:ss,GMT+8} %p %t - %m%n + UTF-8 + - - - - - - + + + - - \ No newline at end of file + diff --git a/client/BUILD.bazel b/client/BUILD.bazel index 353fc0bc5e..8637a23165 100644 --- a/client/BUILD.bazel +++ b/client/BUILD.bazel @@ -23,6 +23,7 @@ java_library( deps = [ "//common", "//remoting", + "//logging", "@maven//:org_apache_commons_commons_lang3", "@maven//:commons_validator_commons_validator", "@maven//:com_github_luben_zstd_jni", @@ -31,7 +32,6 @@ java_library( "@maven//:io_netty_netty_all", "@maven//:io_opentracing_opentracing_api", "@maven//:commons_collections_commons_collections", - "@maven//:io_github_aliyun_mq_rocketmq_slf4j_api", ], ) diff --git a/client/pom.xml b/client/pom.xml index 9d0dd30fc6..d572eafc29 100644 --- a/client/pom.xml +++ b/client/pom.xml @@ -35,7 +35,6 @@ ${project.groupId} rocketmq-remoting - ${project.version} io.netty @@ -59,13 +58,5 @@ com.google.guava guava - - io.github.aliyun-mq - rocketmq-slf4j-api - - - io.github.aliyun-mq - rocketmq-logback-classic - diff --git a/client/src/main/java/org/apache/rocketmq/client/MQHelper.java b/client/src/main/java/org/apache/rocketmq/client/MQHelper.java index 6c35cd1314..610d2ebcf6 100644 --- a/client/src/main/java/org/apache/rocketmq/client/MQHelper.java +++ b/client/src/main/java/org/apache/rocketmq/client/MQHelper.java @@ -19,14 +19,12 @@ package org.apache.rocketmq.client; import java.util.Set; import java.util.TreeSet; import org.apache.rocketmq.client.consumer.DefaultMQPullConsumer; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.common.message.MessageQueue; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.protocol.heartbeat.MessageModel; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; public class MQHelper { - private static final Logger log = LoggerFactory.getLogger(MQHelper.class); - @Deprecated public static void resetOffsetByTimestamp( final MessageModel messageModel, @@ -39,11 +37,11 @@ public class MQHelper { /** * Reset consumer topic offset according to time * - * @param messageModel which model - * @param instanceName which instance + * @param messageModel which model + * @param instanceName which instance * @param consumerGroup consumer group - * @param topic topic - * @param timestamp time + * @param topic topic + * @param timestamp time */ public static void resetOffsetByTimestamp( final MessageModel messageModel, @@ -51,6 +49,7 @@ public class MQHelper { final String consumerGroup, final String topic, final long timestamp) throws Exception { + final InternalLogger log = ClientLogger.getLog(); DefaultMQPullConsumer consumer = new DefaultMQPullConsumer(consumerGroup); consumer.setInstanceName(instanceName); diff --git a/client/src/main/java/org/apache/rocketmq/client/consumer/DefaultLitePullConsumer.java b/client/src/main/java/org/apache/rocketmq/client/consumer/DefaultLitePullConsumer.java index 5de8604944..4e03fd62fb 100644 --- a/client/src/main/java/org/apache/rocketmq/client/consumer/DefaultLitePullConsumer.java +++ b/client/src/main/java/org/apache/rocketmq/client/consumer/DefaultLitePullConsumer.java @@ -25,6 +25,7 @@ import org.apache.rocketmq.client.consumer.rebalance.AllocateMessageQueueAverage import org.apache.rocketmq.client.consumer.store.OffsetStore; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.client.impl.consumer.DefaultLitePullConsumerImpl; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.client.trace.AsyncTraceDispatcher; import org.apache.rocketmq.client.trace.TraceDispatcher; import org.apache.rocketmq.client.trace.hook.ConsumeMessageTraceHookImpl; @@ -33,15 +34,14 @@ import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.consumer.ConsumeFromWhere; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageQueue; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.RPCHook; import org.apache.rocketmq.remoting.protocol.NamespaceUtil; import org.apache.rocketmq.remoting.protocol.heartbeat.MessageModel; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; public class DefaultLitePullConsumer extends ClientConfig implements LitePullConsumer { - private static final Logger log = LoggerFactory.getLogger(DefaultLitePullConsumer.class); + private final InternalLogger log = ClientLogger.getLog(); private final DefaultLitePullConsumerImpl defaultLitePullConsumerImpl; diff --git a/client/src/main/java/org/apache/rocketmq/client/consumer/DefaultMQPushConsumer.java b/client/src/main/java/org/apache/rocketmq/client/consumer/DefaultMQPushConsumer.java index 71920986d7..2c82835bb4 100644 --- a/client/src/main/java/org/apache/rocketmq/client/consumer/DefaultMQPushConsumer.java +++ b/client/src/main/java/org/apache/rocketmq/client/consumer/DefaultMQPushConsumer.java @@ -30,6 +30,7 @@ import org.apache.rocketmq.client.consumer.store.OffsetStore; import org.apache.rocketmq.client.exception.MQBrokerException; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.client.impl.consumer.DefaultMQPushConsumerImpl; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.client.trace.AsyncTraceDispatcher; import org.apache.rocketmq.client.trace.TraceDispatcher; import org.apache.rocketmq.client.trace.hook.ConsumeMessageTraceHookImpl; @@ -39,12 +40,11 @@ import org.apache.rocketmq.common.consumer.ConsumeFromWhere; import org.apache.rocketmq.common.message.MessageDecoder; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageQueue; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.RPCHook; import org.apache.rocketmq.remoting.exception.RemotingException; import org.apache.rocketmq.remoting.protocol.NamespaceUtil; import org.apache.rocketmq.remoting.protocol.heartbeat.MessageModel; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; /** * In most scenarios, this is the mostly recommended class to consume messages. @@ -63,7 +63,7 @@ import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; */ public class DefaultMQPushConsumer extends ClientConfig implements MQPushConsumer { - private final Logger log = LoggerFactory.getLogger(DefaultMQPushConsumer.class); + private final InternalLogger log = ClientLogger.getLog(); /** * Internal implementation. Most of the functions herein are delegated to it. diff --git a/client/src/main/java/org/apache/rocketmq/client/consumer/MQPullConsumerScheduleService.java b/client/src/main/java/org/apache/rocketmq/client/consumer/MQPullConsumerScheduleService.java index 45eb0db709..f53dd31cc8 100644 --- a/client/src/main/java/org/apache/rocketmq/client/consumer/MQPullConsumerScheduleService.java +++ b/client/src/main/java/org/apache/rocketmq/client/consumer/MQPullConsumerScheduleService.java @@ -24,13 +24,13 @@ import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.TimeUnit; import org.apache.rocketmq.client.exception.MQClientException; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.common.ThreadFactoryImpl; import org.apache.rocketmq.common.message.MessageQueue; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.RPCHook; import org.apache.rocketmq.remoting.protocol.NamespaceUtil; import org.apache.rocketmq.remoting.protocol.heartbeat.MessageModel; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; /** * Schedule service for pull consumer. @@ -38,7 +38,7 @@ import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; * DefaultLitePullConsumer} is recommend to use in the scenario of actively pulling messages. */ public class MQPullConsumerScheduleService { - private final Logger log = LoggerFactory.getLogger(MQPullConsumerScheduleService.class); + private final InternalLogger log = ClientLogger.getLog(); private final MessageQueueListener messageQueueListener = new MessageQueueListenerImpl(); private final ConcurrentMap taskTable = new ConcurrentHashMap<>(); diff --git a/client/src/main/java/org/apache/rocketmq/client/consumer/rebalance/AbstractAllocateMessageQueueStrategy.java b/client/src/main/java/org/apache/rocketmq/client/consumer/rebalance/AbstractAllocateMessageQueueStrategy.java index a550f7e019..39b44e5e0d 100644 --- a/client/src/main/java/org/apache/rocketmq/client/consumer/rebalance/AbstractAllocateMessageQueueStrategy.java +++ b/client/src/main/java/org/apache/rocketmq/client/consumer/rebalance/AbstractAllocateMessageQueueStrategy.java @@ -21,13 +21,21 @@ import java.util.List; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.rocketmq.client.consumer.AllocateMessageQueueStrategy; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; public abstract class AbstractAllocateMessageQueueStrategy implements AllocateMessageQueueStrategy { - private static final Logger log = LoggerFactory.getLogger(AbstractAllocateMessageQueueStrategy.class); + protected InternalLogger log; + + AbstractAllocateMessageQueueStrategy() { + this.log = ClientLogger.getLog(); + } + + public AbstractAllocateMessageQueueStrategy(InternalLogger log) { + this.log = log; + } public boolean check(String consumerGroup, String currentCID, List mqAll, List cidAll) { diff --git a/client/src/main/java/org/apache/rocketmq/client/consumer/rebalance/AllocateMessageQueueAveragely.java b/client/src/main/java/org/apache/rocketmq/client/consumer/rebalance/AllocateMessageQueueAveragely.java index 75e5d1c218..c3d3dbcd4a 100644 --- a/client/src/main/java/org/apache/rocketmq/client/consumer/rebalance/AllocateMessageQueueAveragely.java +++ b/client/src/main/java/org/apache/rocketmq/client/consumer/rebalance/AllocateMessageQueueAveragely.java @@ -18,6 +18,8 @@ package org.apache.rocketmq.client.consumer.rebalance; import java.util.ArrayList; import java.util.List; +import org.apache.rocketmq.client.log.ClientLogger; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.common.message.MessageQueue; /** @@ -25,6 +27,14 @@ import org.apache.rocketmq.common.message.MessageQueue; */ public class AllocateMessageQueueAveragely extends AbstractAllocateMessageQueueStrategy { + public AllocateMessageQueueAveragely() { + log = ClientLogger.getLog(); + } + + public AllocateMessageQueueAveragely(InternalLogger log) { + super(log); + } + @Override public List allocate(String consumerGroup, String currentCID, List mqAll, List cidAll) { diff --git a/client/src/main/java/org/apache/rocketmq/client/consumer/rebalance/AllocateMessageQueueAveragelyByCircle.java b/client/src/main/java/org/apache/rocketmq/client/consumer/rebalance/AllocateMessageQueueAveragelyByCircle.java index cc618a81ac..10f8c9de18 100644 --- a/client/src/main/java/org/apache/rocketmq/client/consumer/rebalance/AllocateMessageQueueAveragelyByCircle.java +++ b/client/src/main/java/org/apache/rocketmq/client/consumer/rebalance/AllocateMessageQueueAveragelyByCircle.java @@ -18,6 +18,8 @@ package org.apache.rocketmq.client.consumer.rebalance; import java.util.ArrayList; import java.util.List; +import org.apache.rocketmq.client.log.ClientLogger; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.common.message.MessageQueue; /** @@ -25,6 +27,14 @@ import org.apache.rocketmq.common.message.MessageQueue; */ public class AllocateMessageQueueAveragelyByCircle extends AbstractAllocateMessageQueueStrategy { + public AllocateMessageQueueAveragelyByCircle() { + log = ClientLogger.getLog(); + } + + public AllocateMessageQueueAveragelyByCircle(InternalLogger log) { + super(log); + } + @Override public List allocate(String consumerGroup, String currentCID, List mqAll, List cidAll) { diff --git a/client/src/main/java/org/apache/rocketmq/client/consumer/store/LocalFileOffsetStore.java b/client/src/main/java/org/apache/rocketmq/client/consumer/store/LocalFileOffsetStore.java index d24478a1b3..108130d515 100644 --- a/client/src/main/java/org/apache/rocketmq/client/consumer/store/LocalFileOffsetStore.java +++ b/client/src/main/java/org/apache/rocketmq/client/consumer/store/LocalFileOffsetStore.java @@ -28,13 +28,13 @@ import java.util.concurrent.atomic.AtomicLong; import org.apache.rocketmq.client.exception.MQBrokerException; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.client.impl.factory.MQClientInstance; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.help.FAQUrl; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.remoting.exception.RemotingException; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; /** * Local storage implementation @@ -43,7 +43,7 @@ public class LocalFileOffsetStore implements OffsetStore { public final static String LOCAL_OFFSET_STORE_DIR = System.getProperty( "rocketmq.client.localOffsetStoreDir", System.getProperty("user.home") + File.separator + ".rocketmq_offsets"); - private final static Logger log = LoggerFactory.getLogger(LocalFileOffsetStore.class); + private final static InternalLogger log = ClientLogger.getLog(); private final MQClientInstance mQClientFactory; private final String groupName; private final String storePath; diff --git a/client/src/main/java/org/apache/rocketmq/client/consumer/store/RemoteBrokerOffsetStore.java b/client/src/main/java/org/apache/rocketmq/client/consumer/store/RemoteBrokerOffsetStore.java index 3a597361ed..98e6c7672e 100644 --- a/client/src/main/java/org/apache/rocketmq/client/consumer/store/RemoteBrokerOffsetStore.java +++ b/client/src/main/java/org/apache/rocketmq/client/consumer/store/RemoteBrokerOffsetStore.java @@ -28,20 +28,20 @@ import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.client.exception.OffsetNotFoundException; import org.apache.rocketmq.client.impl.FindBrokerResult; import org.apache.rocketmq.client.impl.factory.MQClientInstance; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.message.MessageQueue; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.exception.RemotingException; import org.apache.rocketmq.remoting.protocol.header.QueryConsumerOffsetRequestHeader; import org.apache.rocketmq.remoting.protocol.header.UpdateConsumerOffsetRequestHeader; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; /** * Remote storage implementation */ public class RemoteBrokerOffsetStore implements OffsetStore { - private final static Logger log = LoggerFactory.getLogger(RemoteBrokerOffsetStore.class); + private final static InternalLogger log = ClientLogger.getLog(); private final MQClientInstance mQClientFactory; private final String groupName; private ConcurrentMap offsetTable = diff --git a/client/src/main/java/org/apache/rocketmq/client/impl/ClientRemotingProcessor.java b/client/src/main/java/org/apache/rocketmq/client/impl/ClientRemotingProcessor.java index 263b9e1d41..501ad4c201 100644 --- a/client/src/main/java/org/apache/rocketmq/client/impl/ClientRemotingProcessor.java +++ b/client/src/main/java/org/apache/rocketmq/client/impl/ClientRemotingProcessor.java @@ -24,6 +24,7 @@ import java.util.Map; import org.apache.commons.lang3.StringUtils; import org.apache.rocketmq.client.impl.factory.MQClientInstance; import org.apache.rocketmq.client.impl.producer.MQProducerInner; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.client.producer.RequestFutureHolder; import org.apache.rocketmq.client.producer.RequestResponseFuture; import org.apache.rocketmq.common.UtilAll; @@ -36,6 +37,7 @@ import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.common.sysflag.MessageSysFlag; import org.apache.rocketmq.common.utils.NetworkUtil; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.netty.NettyRequestProcessor; @@ -54,11 +56,9 @@ import org.apache.rocketmq.remoting.protocol.header.GetConsumerStatusRequestHead import org.apache.rocketmq.remoting.protocol.header.NotifyConsumerIdsChangedRequestHeader; import org.apache.rocketmq.remoting.protocol.header.ReplyMessageRequestHeader; import org.apache.rocketmq.remoting.protocol.header.ResetOffsetRequestHeader; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; public class ClientRemotingProcessor implements NettyRequestProcessor { - private final Logger logger = LoggerFactory.getLogger(ClientRemotingProcessor.class); + private final InternalLogger log = ClientLogger.getLog(); private final MQClientInstance mqClientFactory; public ClientRemotingProcessor(final MQClientInstance mqClientFactory) { @@ -119,13 +119,13 @@ public class ClientRemotingProcessor implements NettyRequestProcessor { final String addr = RemotingHelper.parseChannelRemoteAddr(ctx.channel()); producer.checkTransactionState(addr, messageExt, requestHeader); } else { - logger.debug("checkTransactionState, pick producer by group[{}] failed", group); + log.debug("checkTransactionState, pick producer by group[{}] failed", group); } } else { - logger.warn("checkTransactionState, pick producer group failed"); + log.warn("checkTransactionState, pick producer group failed"); } } else { - logger.warn("checkTransactionState, decode message failed"); + log.warn("checkTransactionState, decode message failed"); } return null; @@ -136,12 +136,12 @@ public class ClientRemotingProcessor implements NettyRequestProcessor { try { final NotifyConsumerIdsChangedRequestHeader requestHeader = (NotifyConsumerIdsChangedRequestHeader) request.decodeCommandCustomHeader(NotifyConsumerIdsChangedRequestHeader.class); - logger.info("receive broker's notification[{}], the consumer group: {} changed, rebalance immediately", + log.info("receive broker's notification[{}], the consumer group: {} changed, rebalance immediately", RemotingHelper.parseChannelRemoteAddr(ctx.channel()), requestHeader.getConsumerGroup()); this.mqClientFactory.rebalanceImmediately(); } catch (Exception e) { - logger.error("notifyConsumerIdsChanged exception", UtilAll.exceptionSimpleDesc(e)); + log.error("notifyConsumerIdsChanged exception", UtilAll.exceptionSimpleDesc(e)); } return null; } @@ -150,7 +150,7 @@ public class ClientRemotingProcessor implements NettyRequestProcessor { RemotingCommand request) throws RemotingCommandException { final ResetOffsetRequestHeader requestHeader = (ResetOffsetRequestHeader) request.decodeCommandCustomHeader(ResetOffsetRequestHeader.class); - logger.info("invoke reset offset operation from broker. brokerAddr={}, topic={}, group={}, timestamp={}", + log.info("invoke reset offset operation from broker. brokerAddr={}, topic={}, group={}, timestamp={}", RemotingHelper.parseChannelRemoteAddr(ctx.channel()), requestHeader.getTopic(), requestHeader.getGroup(), requestHeader.getTimestamp()); Map offsetTable = new HashMap<>(); @@ -252,7 +252,7 @@ public class ClientRemotingProcessor implements NettyRequestProcessor { Compressor compressor = CompressorFactory.getCompressor(MessageSysFlag.getCompressionType(sysFlag)); body = compressor.decompress(body); } catch (IOException e) { - logger.warn("err when uncompress constant", e); + log.warn("err when uncompress constant", e); } } msg.setBody(body); @@ -261,14 +261,14 @@ public class ClientRemotingProcessor implements NettyRequestProcessor { MessageAccessor.putProperty(msg, MessageConst.PROPERTY_REPLY_MESSAGE_ARRIVE_TIME, String.valueOf(receiveTime)); msg.setBornTimestamp(requestHeader.getBornTimestamp()); msg.setReconsumeTimes(requestHeader.getReconsumeTimes() == null ? 0 : requestHeader.getReconsumeTimes()); - logger.debug("receive reply message :{}", msg); + log.debug("receive reply message :{}", msg); processReplyMessage(msg); response.setCode(ResponseCode.SUCCESS); response.setRemark(null); } catch (Exception e) { - logger.warn("unknown err when receiveReplyMsg", e); + log.warn("unknown err when receiveReplyMsg", e); response.setCode(ResponseCode.SYSTEM_ERROR); response.setRemark("process reply message fail"); } @@ -288,7 +288,7 @@ public class ClientRemotingProcessor implements NettyRequestProcessor { } } else { String bornHost = replyMsg.getBornHostString(); - logger.warn(String.format("receive reply message, but not matched any request, CorrelationId: %s , reply from host: %s", + log.warn(String.format("receive reply message, but not matched any request, CorrelationId: %s , reply from host: %s", correlationId, bornHost)); } } diff --git a/client/src/main/java/org/apache/rocketmq/client/impl/MQAdminImpl.java b/client/src/main/java/org/apache/rocketmq/client/impl/MQAdminImpl.java index 5986722552..11247981bf 100644 --- a/client/src/main/java/org/apache/rocketmq/client/impl/MQAdminImpl.java +++ b/client/src/main/java/org/apache/rocketmq/client/impl/MQAdminImpl.java @@ -34,6 +34,7 @@ import org.apache.rocketmq.client.exception.MQBrokerException; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.client.impl.factory.MQClientInstance; import org.apache.rocketmq.client.impl.producer.TopicPublishInfo; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.TopicConfig; import org.apache.rocketmq.common.help.FAQUrl; @@ -43,6 +44,7 @@ import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageId; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.common.utils.NetworkUtil; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.InvokeCallback; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.exception.RemotingException; @@ -54,12 +56,10 @@ import org.apache.rocketmq.remoting.protocol.header.QueryMessageRequestHeader; import org.apache.rocketmq.remoting.protocol.header.QueryMessageResponseHeader; import org.apache.rocketmq.remoting.protocol.route.BrokerData; import org.apache.rocketmq.remoting.protocol.route.TopicRouteData; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; public class MQAdminImpl { - private static final Logger log = LoggerFactory.getLogger(MQAdminImpl.class); + private final InternalLogger log = ClientLogger.getLog(); private final MQClientInstance mQClientFactory; private long timeoutMillis = 6000; diff --git a/client/src/main/java/org/apache/rocketmq/client/impl/MQClientAPIImpl.java b/client/src/main/java/org/apache/rocketmq/client/impl/MQClientAPIImpl.java index 138fc9a02f..f0d6f8dc9f 100644 --- a/client/src/main/java/org/apache/rocketmq/client/impl/MQClientAPIImpl.java +++ b/client/src/main/java/org/apache/rocketmq/client/impl/MQClientAPIImpl.java @@ -50,6 +50,7 @@ import org.apache.rocketmq.client.impl.consumer.PullResultExt; import org.apache.rocketmq.client.impl.factory.MQClientInstance; import org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl; import org.apache.rocketmq.client.impl.producer.TopicPublishInfo; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.client.producer.SendCallback; import org.apache.rocketmq.client.producer.SendResult; import org.apache.rocketmq.client.producer.SendStatus; @@ -73,6 +74,7 @@ import org.apache.rocketmq.common.namesrv.DefaultTopAddressing; import org.apache.rocketmq.common.namesrv.NameServerUpdateCallback; import org.apache.rocketmq.common.namesrv.TopAddressing; import org.apache.rocketmq.common.sysflag.PullSysFlag; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.CommandCustomHeader; import org.apache.rocketmq.remoting.InvokeCallback; import org.apache.rocketmq.remoting.RPCHook; @@ -217,13 +219,11 @@ import org.apache.rocketmq.remoting.protocol.subscription.GroupForbidden; import org.apache.rocketmq.remoting.protocol.subscription.SubscriptionGroupConfig; import org.apache.rocketmq.remoting.rpchook.DynamicalExtFieldRPCHook; import org.apache.rocketmq.remoting.rpchook.StreamTypeRPCHook; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import static org.apache.rocketmq.remoting.protocol.RemotingSysResponseCode.SUCCESS; public class MQClientAPIImpl implements NameServerUpdateCallback { - private final static Logger log = LoggerFactory.getLogger(MQClientAPIImpl.class); + private final static InternalLogger log = ClientLogger.getLog(); private static boolean sendSmartMsg = Boolean.parseBoolean(System.getProperty("org.apache.rocketmq.client.sendSmartMsg", "true")); diff --git a/client/src/main/java/org/apache/rocketmq/client/impl/MQClientManager.java b/client/src/main/java/org/apache/rocketmq/client/impl/MQClientManager.java index cb52180df6..3f4bda7cc6 100644 --- a/client/src/main/java/org/apache/rocketmq/client/impl/MQClientManager.java +++ b/client/src/main/java/org/apache/rocketmq/client/impl/MQClientManager.java @@ -21,12 +21,12 @@ import java.util.concurrent.ConcurrentMap; import java.util.concurrent.atomic.AtomicInteger; import org.apache.rocketmq.client.ClientConfig; import org.apache.rocketmq.client.impl.factory.MQClientInstance; +import org.apache.rocketmq.client.log.ClientLogger; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.RPCHook; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; public class MQClientManager { - private final static Logger log = LoggerFactory.getLogger(MQClientManager.class); + private final static InternalLogger log = ClientLogger.getLog(); private static MQClientManager instance = new MQClientManager(); private AtomicInteger factoryIndexGenerator = new AtomicInteger(); private ConcurrentMap factoryTable = diff --git a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/ConsumeMessageConcurrentlyService.java b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/ConsumeMessageConcurrentlyService.java index b7eddb2a6c..9dc2cbef2b 100644 --- a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/ConsumeMessageConcurrentlyService.java +++ b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/ConsumeMessageConcurrentlyService.java @@ -35,6 +35,7 @@ import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; import org.apache.rocketmq.client.consumer.listener.ConsumeReturnType; import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; import org.apache.rocketmq.client.hook.ConsumeMessageContext; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.client.stat.ConsumerStatsManager; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.ThreadFactoryImpl; @@ -43,13 +44,12 @@ import org.apache.rocketmq.common.message.MessageAccessor; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.common.utils.ThreadUtils; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.protocol.body.CMResult; import org.apache.rocketmq.remoting.protocol.body.ConsumeMessageDirectlyResult; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; public class ConsumeMessageConcurrentlyService implements ConsumeMessageService { - private static final Logger log = LoggerFactory.getLogger(ConsumeMessageConcurrentlyService.class); + private static final InternalLogger log = ClientLogger.getLog(); private final DefaultMQPushConsumerImpl defaultMQPushConsumerImpl; private final DefaultMQPushConsumer defaultMQPushConsumer; private final MessageListenerConcurrently messageListener; diff --git a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/ConsumeMessageOrderlyService.java b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/ConsumeMessageOrderlyService.java index eb6def1d99..5750263e12 100644 --- a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/ConsumeMessageOrderlyService.java +++ b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/ConsumeMessageOrderlyService.java @@ -33,6 +33,7 @@ import org.apache.rocketmq.client.consumer.listener.ConsumeOrderlyStatus; import org.apache.rocketmq.client.consumer.listener.ConsumeReturnType; import org.apache.rocketmq.client.consumer.listener.MessageListenerOrderly; import org.apache.rocketmq.client.hook.ConsumeMessageContext; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.client.stat.ConsumerStatsManager; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.ThreadFactoryImpl; @@ -43,15 +44,14 @@ import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.common.utils.ThreadUtils; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.protocol.NamespaceUtil; import org.apache.rocketmq.remoting.protocol.body.CMResult; import org.apache.rocketmq.remoting.protocol.body.ConsumeMessageDirectlyResult; import org.apache.rocketmq.remoting.protocol.heartbeat.MessageModel; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; public class ConsumeMessageOrderlyService implements ConsumeMessageService { - private static final Logger log = LoggerFactory.getLogger(ConsumeMessageOrderlyService.class); + private static final InternalLogger log = ClientLogger.getLog(); private final static long MAX_TIME_CONSUME_CONTINUOUSLY = Long.parseLong(System.getProperty("rocketmq.client.maxTimeConsumeContinuously", "60000")); private final DefaultMQPushConsumerImpl defaultMQPushConsumerImpl; diff --git a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/ConsumeMessagePopConcurrentlyService.java b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/ConsumeMessagePopConcurrentlyService.java index 96c0bca3f0..f22efc148b 100644 --- a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/ConsumeMessagePopConcurrentlyService.java +++ b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/ConsumeMessagePopConcurrentlyService.java @@ -35,6 +35,7 @@ import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; import org.apache.rocketmq.client.consumer.listener.ConsumeReturnType; import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; import org.apache.rocketmq.client.hook.ConsumeMessageContext; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.client.stat.ConsumerStatsManager; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.ThreadFactoryImpl; @@ -44,14 +45,13 @@ import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.common.utils.ThreadUtils; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.protocol.body.CMResult; import org.apache.rocketmq.remoting.protocol.body.ConsumeMessageDirectlyResult; import org.apache.rocketmq.remoting.protocol.header.ExtraInfoUtil; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; public class ConsumeMessagePopConcurrentlyService implements ConsumeMessageService { - private static final Logger log = LoggerFactory.getLogger(ConsumeMessagePopConcurrentlyService.class); + private static final InternalLogger log = ClientLogger.getLog(); private final DefaultMQPushConsumerImpl defaultMQPushConsumerImpl; private final DefaultMQPushConsumer defaultMQPushConsumer; private final MessageListenerConcurrently messageListener; diff --git a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/ConsumeMessagePopOrderlyService.java b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/ConsumeMessagePopOrderlyService.java index d84a164b36..bd4adc8dd0 100644 --- a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/ConsumeMessagePopOrderlyService.java +++ b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/ConsumeMessagePopOrderlyService.java @@ -30,6 +30,7 @@ import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; import org.apache.rocketmq.client.consumer.listener.ConsumeOrderlyContext; import org.apache.rocketmq.client.consumer.listener.ConsumeOrderlyStatus; import org.apache.rocketmq.client.consumer.listener.MessageListenerOrderly; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.client.stat.ConsumerStatsManager; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.ThreadFactoryImpl; @@ -40,15 +41,14 @@ import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.common.utils.ThreadUtils; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.protocol.NamespaceUtil; import org.apache.rocketmq.remoting.protocol.body.CMResult; import org.apache.rocketmq.remoting.protocol.body.ConsumeMessageDirectlyResult; import org.apache.rocketmq.remoting.protocol.heartbeat.MessageModel; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; public class ConsumeMessagePopOrderlyService implements ConsumeMessageService { - private static final Logger log = LoggerFactory.getLogger(ConsumeMessagePopOrderlyService.class); + private static final InternalLogger log = ClientLogger.getLog(); private final DefaultMQPushConsumerImpl defaultMQPushConsumerImpl; private final DefaultMQPushConsumer defaultMQPushConsumer; private final MessageListenerOrderly messageListener; diff --git a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/DefaultLitePullConsumerImpl.java b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/DefaultLitePullConsumerImpl.java index 9a6cab1f0f..f8763e0496 100644 --- a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/DefaultLitePullConsumerImpl.java +++ b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/DefaultLitePullConsumerImpl.java @@ -55,6 +55,7 @@ import org.apache.rocketmq.client.hook.FilterMessageHook; import org.apache.rocketmq.client.impl.CommunicationMode; import org.apache.rocketmq.client.impl.MQClientManager; import org.apache.rocketmq.client.impl.factory.MQClientInstance; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.ServiceState; import org.apache.rocketmq.common.ThreadFactoryImpl; @@ -64,6 +65,7 @@ import org.apache.rocketmq.common.help.FAQUrl; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.common.sysflag.PullSysFlag; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.RPCHook; import org.apache.rocketmq.remoting.exception.RemotingException; import org.apache.rocketmq.remoting.protocol.NamespaceUtil; @@ -72,12 +74,10 @@ import org.apache.rocketmq.remoting.protocol.filter.FilterAPI; import org.apache.rocketmq.remoting.protocol.heartbeat.ConsumeType; import org.apache.rocketmq.remoting.protocol.heartbeat.MessageModel; import org.apache.rocketmq.remoting.protocol.heartbeat.SubscriptionData; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; public class DefaultLitePullConsumerImpl implements MQConsumerInner { - private static final Logger log = LoggerFactory.getLogger(DefaultLitePullConsumerImpl.class); + private final InternalLogger log = ClientLogger.getLog(); private final long consumerStartTimestamp = System.currentTimeMillis(); diff --git a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/DefaultMQPullConsumerImpl.java b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/DefaultMQPullConsumerImpl.java index b5c854a9cc..1b41499a92 100644 --- a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/DefaultMQPullConsumerImpl.java +++ b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/DefaultMQPullConsumerImpl.java @@ -42,6 +42,7 @@ import org.apache.rocketmq.client.hook.FilterMessageHook; import org.apache.rocketmq.client.impl.CommunicationMode; import org.apache.rocketmq.client.impl.MQClientManager; import org.apache.rocketmq.client.impl.factory.MQClientInstance; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.ServiceState; import org.apache.rocketmq.common.UtilAll; @@ -54,6 +55,7 @@ import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.common.sysflag.PullSysFlag; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.RPCHook; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.exception.RemotingException; @@ -63,8 +65,6 @@ import org.apache.rocketmq.remoting.protocol.filter.FilterAPI; import org.apache.rocketmq.remoting.protocol.heartbeat.ConsumeType; import org.apache.rocketmq.remoting.protocol.heartbeat.MessageModel; import org.apache.rocketmq.remoting.protocol.heartbeat.SubscriptionData; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; /** * This class will be removed in 2022, and a better implementation {@link DefaultLitePullConsumerImpl} is recommend to use @@ -72,7 +72,7 @@ import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; */ @Deprecated public class DefaultMQPullConsumerImpl implements MQConsumerInner { - private static final Logger log = LoggerFactory.getLogger(DefaultMQPullConsumerImpl.class); + private final InternalLogger log = ClientLogger.getLog(); private final DefaultMQPullConsumer defaultMQPullConsumer; private final long consumerStartTimestamp = System.currentTimeMillis(); private final RPCHook rpcHook; diff --git a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/DefaultMQPushConsumerImpl.java b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/DefaultMQPushConsumerImpl.java index 353f4de01c..53262d63c6 100644 --- a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/DefaultMQPushConsumerImpl.java +++ b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/DefaultMQPushConsumerImpl.java @@ -58,6 +58,7 @@ import org.apache.rocketmq.client.impl.CommunicationMode; import org.apache.rocketmq.client.impl.FindBrokerResult; import org.apache.rocketmq.client.impl.MQClientManager; import org.apache.rocketmq.client.impl.factory.MQClientInstance; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.client.stat.ConsumerStatsManager; import org.apache.rocketmq.common.KeyBuilder; import org.apache.rocketmq.common.MixAll; @@ -71,6 +72,7 @@ import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.common.sysflag.PullSysFlag; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.RPCHook; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.exception.RemotingException; @@ -90,8 +92,7 @@ import org.apache.rocketmq.remoting.protocol.heartbeat.MessageModel; import org.apache.rocketmq.remoting.protocol.heartbeat.SubscriptionData; import org.apache.rocketmq.remoting.protocol.route.BrokerData; import org.apache.rocketmq.remoting.protocol.route.TopicRouteData; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; + public class DefaultMQPushConsumerImpl implements MQConsumerInner { /** @@ -108,7 +109,7 @@ public class DefaultMQPushConsumerImpl implements MQConsumerInner { private static final long PULL_TIME_DELAY_MILLS_WHEN_SUSPEND = 1000; private static final long BROKER_SUSPEND_MAX_TIME_MILLIS = 1000 * 15; private static final long CONSUMER_TIMEOUT_MILLIS_WHEN_SUSPEND = 1000 * 30; - private static final Logger log = LoggerFactory.getLogger(DefaultMQPushConsumerImpl.class); + private final InternalLogger log = ClientLogger.getLog(); private final DefaultMQPushConsumer defaultMQPushConsumer; private final RebalanceImpl rebalanceImpl = new RebalancePushImpl(this); private final ArrayList filterMessageHookList = new ArrayList<>(); diff --git a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/ProcessQueue.java b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/ProcessQueue.java index 7857d4a2d2..da2832591b 100644 --- a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/ProcessQueue.java +++ b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/ProcessQueue.java @@ -28,12 +28,12 @@ import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.locks.ReentrantReadWriteLock; import org.apache.commons.lang3.StringUtils; import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.common.message.MessageAccessor; import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.message.MessageExt; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.protocol.body.ProcessQueueInfo; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; /** * Queue consumption snapshot @@ -43,7 +43,7 @@ public class ProcessQueue { Long.parseLong(System.getProperty("rocketmq.client.rebalance.lockMaxLiveTime", "30000")); public final static long REBALANCE_LOCK_INTERVAL = Long.parseLong(System.getProperty("rocketmq.client.rebalance.lockInterval", "20000")); private final static long PULL_MAX_IDLE_TIME = Long.parseLong(System.getProperty("rocketmq.client.pull.pullMaxIdleTime", "120000")); - private final Logger log = LoggerFactory.getLogger(ProcessQueue.class); + private final InternalLogger log = ClientLogger.getLog(); private final ReadWriteLock treeMapLock = new ReentrantReadWriteLock(); private final TreeMap msgTreeMap = new TreeMap<>(); private final AtomicLong msgCount = new AtomicLong(); diff --git a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/PullAPIWrapper.java b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/PullAPIWrapper.java index a4fbf367fb..dd7b9af855 100644 --- a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/PullAPIWrapper.java +++ b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/PullAPIWrapper.java @@ -34,6 +34,7 @@ import org.apache.rocketmq.client.hook.FilterMessageHook; import org.apache.rocketmq.client.impl.CommunicationMode; import org.apache.rocketmq.client.impl.FindBrokerResult; import org.apache.rocketmq.client.impl.factory.MQClientInstance; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.common.MQVersion; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.filter.ExpressionType; @@ -44,16 +45,15 @@ import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.common.sysflag.MessageSysFlag; import org.apache.rocketmq.common.sysflag.PullSysFlag; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.exception.RemotingException; import org.apache.rocketmq.remoting.protocol.header.PopMessageRequestHeader; import org.apache.rocketmq.remoting.protocol.header.PullMessageRequestHeader; import org.apache.rocketmq.remoting.protocol.heartbeat.SubscriptionData; import org.apache.rocketmq.remoting.protocol.route.TopicRouteData; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; public class PullAPIWrapper { - private static final Logger log = LoggerFactory.getLogger(PullAPIWrapper.class); + private final InternalLogger log = ClientLogger.getLog(); private final MQClientInstance mQClientFactory; private final String consumerGroup; private final boolean unitMode; diff --git a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/PullMessageService.java b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/PullMessageService.java index 5adb3663a9..a5f3379f92 100644 --- a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/PullMessageService.java +++ b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/PullMessageService.java @@ -22,14 +22,14 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ThreadFactory; import java.util.concurrent.TimeUnit; import org.apache.rocketmq.client.impl.factory.MQClientInstance; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.common.ServiceThread; import org.apache.rocketmq.common.message.MessageRequestMode; import org.apache.rocketmq.common.utils.ThreadUtils; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; public class PullMessageService extends ServiceThread { - private final Logger logger = LoggerFactory.getLogger(PullMessageService.class); + private final InternalLogger log = ClientLogger.getLog(); private final LinkedBlockingQueue messageRequestQueue = new LinkedBlockingQueue<>(); private final MQClientInstance mQClientFactory; @@ -54,7 +54,7 @@ public class PullMessageService extends ServiceThread { } }, timeDelay, TimeUnit.MILLISECONDS); } else { - logger.warn("PullMessageServiceScheduledThread has shutdown"); + log.warn("PullMessageServiceScheduledThread has shutdown"); } } @@ -62,7 +62,7 @@ public class PullMessageService extends ServiceThread { try { this.messageRequestQueue.put(pullRequest); } catch (InterruptedException e) { - logger.error("executePullRequestImmediately pullRequestQueue.put", e); + log.error("executePullRequestImmediately pullRequestQueue.put", e); } } @@ -75,7 +75,7 @@ public class PullMessageService extends ServiceThread { } }, timeDelay, TimeUnit.MILLISECONDS); } else { - logger.warn("PullMessageServiceScheduledThread has shutdown"); + log.warn("PullMessageServiceScheduledThread has shutdown"); } } @@ -83,7 +83,7 @@ public class PullMessageService extends ServiceThread { try { this.messageRequestQueue.put(pullRequest); } catch (InterruptedException e) { - logger.error("executePullRequestImmediately pullRequestQueue.put", e); + log.error("executePullRequestImmediately pullRequestQueue.put", e); } } @@ -91,7 +91,7 @@ public class PullMessageService extends ServiceThread { if (!isStopped()) { this.scheduledExecutorService.schedule(r, timeDelay, TimeUnit.MILLISECONDS); } else { - logger.warn("PullMessageServiceScheduledThread has shutdown"); + log.warn("PullMessageServiceScheduledThread has shutdown"); } } @@ -105,7 +105,7 @@ public class PullMessageService extends ServiceThread { DefaultMQPushConsumerImpl impl = (DefaultMQPushConsumerImpl) consumer; impl.pullMessage(pullRequest); } else { - logger.warn("No matched consumer for the PullRequest {}, drop it", pullRequest); + log.warn("No matched consumer for the PullRequest {}, drop it", pullRequest); } } @@ -115,13 +115,13 @@ public class PullMessageService extends ServiceThread { DefaultMQPushConsumerImpl impl = (DefaultMQPushConsumerImpl) consumer; impl.popMessage(popRequest); } else { - logger.warn("No matched consumer for the PopRequest {}, drop it", popRequest); + log.warn("No matched consumer for the PopRequest {}, drop it", popRequest); } } @Override public void run() { - logger.info(this.getServiceName() + " service started"); + log.info(this.getServiceName() + " service started"); while (!this.isStopped()) { try { @@ -133,11 +133,11 @@ public class PullMessageService extends ServiceThread { } } catch (InterruptedException ignored) { } catch (Exception e) { - logger.error("Pull Message Service Run Method exception", e); + log.error("Pull Message Service Run Method exception", e); } } - logger.info(this.getServiceName() + " service end"); + log.info(this.getServiceName() + " service end"); } @Override diff --git a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/RebalanceImpl.java b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/RebalanceImpl.java index 0c91eaae0d..45a2521971 100644 --- a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/RebalanceImpl.java +++ b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/RebalanceImpl.java @@ -31,11 +31,13 @@ import org.apache.rocketmq.client.consumer.AllocateMessageQueueStrategy; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.client.impl.FindBrokerResult; import org.apache.rocketmq.client.impl.factory.MQClientInstance; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.common.KeyBuilder; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.common.message.MessageQueueAssignment; import org.apache.rocketmq.common.message.MessageRequestMode; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.exception.RemotingTimeoutException; import org.apache.rocketmq.remoting.protocol.body.LockBatchRequestBody; import org.apache.rocketmq.remoting.protocol.body.UnlockBatchRequestBody; @@ -43,11 +45,9 @@ import org.apache.rocketmq.remoting.protocol.filter.FilterAPI; import org.apache.rocketmq.remoting.protocol.heartbeat.ConsumeType; import org.apache.rocketmq.remoting.protocol.heartbeat.MessageModel; import org.apache.rocketmq.remoting.protocol.heartbeat.SubscriptionData; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; public abstract class RebalanceImpl { - protected static final Logger log = LoggerFactory.getLogger(RebalanceImpl.class); + protected static final InternalLogger log = ClientLogger.getLog(); protected final ConcurrentMap processQueueTable = new ConcurrentHashMap<>(64); protected final ConcurrentMap popProcessQueueTable = new ConcurrentHashMap<>(64); diff --git a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/RebalanceService.java b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/RebalanceService.java index 394381f9dd..c8f8ab1407 100644 --- a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/RebalanceService.java +++ b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/RebalanceService.java @@ -17,15 +17,15 @@ package org.apache.rocketmq.client.impl.consumer; import org.apache.rocketmq.client.impl.factory.MQClientInstance; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.common.ServiceThread; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; public class RebalanceService extends ServiceThread { private static long waitInterval = Long.parseLong(System.getProperty( "rocketmq.client.rebalance.waitInterval", "20000")); - private final Logger log = LoggerFactory.getLogger(RebalanceService.class); + private final InternalLogger log = ClientLogger.getLog(); private final MQClientInstance mqClientFactory; public RebalanceService(MQClientInstance mqClientFactory) { diff --git a/client/src/main/java/org/apache/rocketmq/client/impl/factory/MQClientInstance.java b/client/src/main/java/org/apache/rocketmq/client/impl/factory/MQClientInstance.java index 843134c3f2..beb220488f 100644 --- a/client/src/main/java/org/apache/rocketmq/client/impl/factory/MQClientInstance.java +++ b/client/src/main/java/org/apache/rocketmq/client/impl/factory/MQClientInstance.java @@ -52,6 +52,7 @@ import org.apache.rocketmq.client.impl.consumer.RebalanceService; import org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl; import org.apache.rocketmq.client.impl.producer.MQProducerInner; import org.apache.rocketmq.client.impl.producer.TopicPublishInfo; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.client.producer.DefaultMQProducer; import org.apache.rocketmq.client.stat.ConsumerStatsManager; import org.apache.rocketmq.common.MQVersion; @@ -64,6 +65,7 @@ import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.common.message.MessageQueueAssignment; import org.apache.rocketmq.common.topic.TopicValidator; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.RPCHook; import org.apache.rocketmq.remoting.exception.RemotingException; import org.apache.rocketmq.remoting.netty.NettyClientConfig; @@ -80,14 +82,12 @@ import org.apache.rocketmq.remoting.protocol.heartbeat.SubscriptionData; import org.apache.rocketmq.remoting.protocol.route.BrokerData; import org.apache.rocketmq.remoting.protocol.route.QueueData; import org.apache.rocketmq.remoting.protocol.route.TopicRouteData; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import static org.apache.rocketmq.remoting.rpc.ClientMetadata.topicRouteData2EndpointsForStaticTopic; public class MQClientInstance { private final static long LOCK_TIMEOUT_MILLIS = 3000; - private final static Logger log = LoggerFactory.getLogger(MQClientInstance.class); + private final static InternalLogger log = ClientLogger.getLog(); private final ClientConfig clientConfig; private final String clientId; private final long bootTimestamp = System.currentTimeMillis(); diff --git a/client/src/main/java/org/apache/rocketmq/client/impl/producer/DefaultMQProducerImpl.java b/client/src/main/java/org/apache/rocketmq/client/impl/producer/DefaultMQProducerImpl.java index a867297f41..8c669ace17 100644 --- a/client/src/main/java/org/apache/rocketmq/client/impl/producer/DefaultMQProducerImpl.java +++ b/client/src/main/java/org/apache/rocketmq/client/impl/producer/DefaultMQProducerImpl.java @@ -51,6 +51,7 @@ import org.apache.rocketmq.client.impl.CommunicationMode; import org.apache.rocketmq.client.impl.MQClientManager; import org.apache.rocketmq.client.impl.factory.MQClientInstance; import org.apache.rocketmq.client.latency.MQFaultStrategy; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.client.producer.DefaultMQProducer; import org.apache.rocketmq.client.producer.LocalTransactionExecuter; import org.apache.rocketmq.client.producer.LocalTransactionState; @@ -84,6 +85,7 @@ import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.common.message.MessageType; import org.apache.rocketmq.common.sysflag.MessageSysFlag; import org.apache.rocketmq.common.utils.CorrelationIdUtil; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.RPCHook; import org.apache.rocketmq.remoting.exception.RemotingConnectException; import org.apache.rocketmq.remoting.exception.RemotingException; @@ -93,12 +95,10 @@ import org.apache.rocketmq.remoting.protocol.NamespaceUtil; import org.apache.rocketmq.remoting.protocol.header.CheckTransactionStateRequestHeader; import org.apache.rocketmq.remoting.protocol.header.EndTransactionRequestHeader; import org.apache.rocketmq.remoting.protocol.header.SendMessageRequestHeader; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; public class DefaultMQProducerImpl implements MQProducerInner { - private final Logger log = LoggerFactory.getLogger(DefaultMQProducerImpl.class); + private final InternalLogger log = ClientLogger.getLog(); private final Random random = new Random(); private final DefaultMQProducer defaultMQProducer; private final ConcurrentMap topicPublishInfoTable = diff --git a/client/src/main/java/org/apache/rocketmq/client/latency/MQFaultStrategy.java b/client/src/main/java/org/apache/rocketmq/client/latency/MQFaultStrategy.java index c4ca85e48d..a8c7b0747a 100644 --- a/client/src/main/java/org/apache/rocketmq/client/latency/MQFaultStrategy.java +++ b/client/src/main/java/org/apache/rocketmq/client/latency/MQFaultStrategy.java @@ -18,12 +18,12 @@ package org.apache.rocketmq.client.latency; import org.apache.rocketmq.client.impl.producer.TopicPublishInfo; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; public class MQFaultStrategy { - private final static Logger log = LoggerFactory.getLogger(MQFaultStrategy.class); + private final static InternalLogger log = ClientLogger.getLog(); private final LatencyFaultTolerance latencyFaultTolerance = new LatencyFaultToleranceImpl(); private boolean sendLatencyFaultEnable = false; diff --git a/client/src/main/java/org/apache/rocketmq/client/log/ClientLogger.java b/client/src/main/java/org/apache/rocketmq/client/log/ClientLogger.java new file mode 100644 index 0000000000..7ee2ebaa4b --- /dev/null +++ b/client/src/main/java/org/apache/rocketmq/client/log/ClientLogger.java @@ -0,0 +1,124 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.rocketmq.client.log; + +import org.apache.rocketmq.common.constant.LoggerName; +import org.apache.rocketmq.logging.InnerLoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; +import org.apache.rocketmq.logging.inner.Appender; +import org.apache.rocketmq.logging.inner.Layout; +import org.apache.rocketmq.logging.inner.Level; +import org.apache.rocketmq.logging.inner.Logger; +import org.apache.rocketmq.logging.inner.LoggingBuilder; +import org.apache.rocketmq.logging.inner.LoggingEvent; +import org.apache.rocketmq.remoting.common.RemotingHelper; + +public class ClientLogger { + + public static final String CLIENT_LOG_USESLF4J = "rocketmq.client.logUseSlf4j"; + public static final String CLIENT_LOG_ROOT = "rocketmq.client.logRoot"; + public static final String CLIENT_LOG_MAXINDEX = "rocketmq.client.logFileMaxIndex"; + public static final String CLIENT_LOG_FILESIZE = "rocketmq.client.logFileMaxSize"; + public static final String CLIENT_LOG_LEVEL = "rocketmq.client.logLevel"; + public static final String CLIENT_LOG_ADDITIVE = "rocketmq.client.log.additive"; + public static final String CLIENT_LOG_FILENAME = "rocketmq.client.logFileName"; + public static final String CLIENT_LOG_ASYNC_QUEUESIZE = "rocketmq.client.logAsyncQueueSize"; + public static final String ROCKETMQ_CLIENT_APPENDER_NAME = "RocketmqClientAppender"; + + private static final InternalLogger CLIENT_LOGGER; + + private static final boolean CLIENT_USE_SLF4J; + + private static Appender appenderProxy = new AppenderProxy(); + + //private static Appender rocketmqClientAppender = null; + + static { + CLIENT_USE_SLF4J = Boolean.parseBoolean(System.getProperty(CLIENT_LOG_USESLF4J, "false")); + if (!CLIENT_USE_SLF4J) { + InternalLoggerFactory.setCurrentLoggerType(InnerLoggerFactory.LOGGER_INNER); + CLIENT_LOGGER = createLogger(LoggerName.CLIENT_LOGGER_NAME); + createLogger(LoggerName.COMMON_LOGGER_NAME); + createLogger(RemotingHelper.ROCKETMQ_REMOTING); + Logger.getRootLogger().addAppender(appenderProxy); + } else { + CLIENT_LOGGER = InternalLoggerFactory.getLogger(LoggerName.CLIENT_LOGGER_NAME); + } + } + + private static synchronized Appender createClientAppender() { + String clientLogRoot = System.getProperty(CLIENT_LOG_ROOT, System.getProperty("user.home") + "/logs/rocketmqlogs"); + String clientLogMaxIndex = System.getProperty(CLIENT_LOG_MAXINDEX, "10"); + String clientLogFileName = System.getProperty(CLIENT_LOG_FILENAME, "rocketmq_client.log"); + String maxFileSize = System.getProperty(CLIENT_LOG_FILESIZE, "1073741824"); + String asyncQueueSize = System.getProperty(CLIENT_LOG_ASYNC_QUEUESIZE, "1024"); + + String logFileName = clientLogRoot + "/" + clientLogFileName; + + int maxFileIndex = Integer.parseInt(clientLogMaxIndex); + int queueSize = Integer.parseInt(asyncQueueSize); + + Layout layout = LoggingBuilder.newLayoutBuilder().withDefaultLayout().build(); + + Appender rocketmqClientAppender = LoggingBuilder.newAppenderBuilder() + .withRollingFileAppender(logFileName, maxFileSize, maxFileIndex) + .withAsync(false, queueSize).withName(ROCKETMQ_CLIENT_APPENDER_NAME).withLayout(layout).build(); + + return rocketmqClientAppender; + } + + private static InternalLogger createLogger(final String loggerName) { + String clientLogLevel = System.getProperty(CLIENT_LOG_LEVEL, "INFO"); + boolean additive = "true".equalsIgnoreCase(System.getProperty(CLIENT_LOG_ADDITIVE)); + InternalLogger logger = InternalLoggerFactory.getLogger(loggerName); + InnerLoggerFactory.InnerLogger innerLogger = (InnerLoggerFactory.InnerLogger) logger; + Logger realLogger = innerLogger.getLogger(); + + //if (rocketmqClientAppender == null) { + // createClientAppender(); + //} + + realLogger.addAppender(appenderProxy); + realLogger.setLevel(Level.toLevel(clientLogLevel)); + realLogger.setAdditivity(additive); + return logger; + } + + public static InternalLogger getLog() { + return CLIENT_LOGGER; + } + + static class AppenderProxy extends Appender { + private Appender proxy; + + @Override + protected void append(LoggingEvent event) { + if (null == proxy) { + proxy = ClientLogger.createClientAppender(); + } + proxy.doAppend(event); + } + + @Override + public void close() { + if (null != proxy) { + proxy.close(); + } + } + } +} diff --git a/client/src/main/java/org/apache/rocketmq/client/producer/DefaultMQProducer.java b/client/src/main/java/org/apache/rocketmq/client/producer/DefaultMQProducer.java index cb91fe4dba..a311f86d60 100644 --- a/client/src/main/java/org/apache/rocketmq/client/producer/DefaultMQProducer.java +++ b/client/src/main/java/org/apache/rocketmq/client/producer/DefaultMQProducer.java @@ -30,6 +30,7 @@ import org.apache.rocketmq.client.exception.MQBrokerException; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.client.exception.RequestTimeoutException; import org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.client.trace.AsyncTraceDispatcher; import org.apache.rocketmq.client.trace.TraceDispatcher; import org.apache.rocketmq.client.trace.hook.EndTransactionTraceHookImpl; @@ -41,11 +42,10 @@ import org.apache.rocketmq.common.message.MessageClientIDSetter; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.common.topic.TopicValidator; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.RPCHook; import org.apache.rocketmq.remoting.exception.RemotingException; import org.apache.rocketmq.remoting.protocol.ResponseCode; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; /** * This class is the entry point for applications intending to send messages.

@@ -65,7 +65,7 @@ public class DefaultMQProducer extends ClientConfig implements MQProducer { * Wrapping internal implementations for virtually all methods presented in this class. */ protected final transient DefaultMQProducerImpl defaultMQProducerImpl; - private final Logger logger = LoggerFactory.getLogger(DefaultMQProducer.class); + private final InternalLogger log = ClientLogger.getLog(); private final Set retryResponseCodes = new CopyOnWriteArraySet<>(Arrays.asList( ResponseCode.TOPIC_NOT_EXIST, ResponseCode.SERVICE_NOT_AVAILABLE, @@ -272,7 +272,7 @@ public class DefaultMQProducer extends ClientConfig implements MQProducer { this.defaultMQProducerImpl.registerEndTransactionHook( new EndTransactionTraceHookImpl(traceDispatcher)); } catch (Throwable e) { - logger.error("system mqtrace hook init failed ,maybe can't send msg trace data"); + log.error("system mqtrace hook init failed ,maybe can't send msg trace data"); } } } @@ -301,7 +301,7 @@ public class DefaultMQProducer extends ClientConfig implements MQProducer { try { traceDispatcher.start(this.getNamesrvAddr(), this.getAccessChannel()); } catch (MQClientException e) { - logger.warn("trace dispatcher start failed ", e); + log.warn("trace dispatcher start failed ", e); } } } diff --git a/client/src/main/java/org/apache/rocketmq/client/producer/RequestFutureHolder.java b/client/src/main/java/org/apache/rocketmq/client/producer/RequestFutureHolder.java index 0a89d548ed..100890d872 100644 --- a/client/src/main/java/org/apache/rocketmq/client/producer/RequestFutureHolder.java +++ b/client/src/main/java/org/apache/rocketmq/client/producer/RequestFutureHolder.java @@ -31,12 +31,12 @@ import java.util.concurrent.TimeUnit; import org.apache.rocketmq.client.common.ClientErrorCode; import org.apache.rocketmq.client.exception.RequestTimeoutException; import org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.common.ThreadFactoryImpl; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; public class RequestFutureHolder { - private static final Logger log = LoggerFactory.getLogger(RequestFutureHolder.class); + private static InternalLogger log = ClientLogger.getLog(); private static final RequestFutureHolder INSTANCE = new RequestFutureHolder(); private ConcurrentHashMap requestFutureTable = new ConcurrentHashMap<>(); private final Set producerSet = new HashSet<>(); diff --git a/client/src/main/java/org/apache/rocketmq/client/stat/ConsumerStatsManager.java b/client/src/main/java/org/apache/rocketmq/client/stat/ConsumerStatsManager.java index 9d50409abe..5c87fb01fc 100644 --- a/client/src/main/java/org/apache/rocketmq/client/stat/ConsumerStatsManager.java +++ b/client/src/main/java/org/apache/rocketmq/client/stat/ConsumerStatsManager.java @@ -18,14 +18,14 @@ package org.apache.rocketmq.client.stat; import java.util.concurrent.ScheduledExecutorService; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.common.stats.StatsItemSet; import org.apache.rocketmq.common.stats.StatsSnapshot; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.protocol.body.ConsumeStatus; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; public class ConsumerStatsManager { - private static final Logger log = LoggerFactory.getLogger(ConsumerStatsManager.class); + private static final InternalLogger log = ClientLogger.getLog(); private static final String TOPIC_AND_GROUP_CONSUME_OK_TPS = "CONSUME_OK_TPS"; private static final String TOPIC_AND_GROUP_CONSUME_FAILED_TPS = "CONSUME_FAILED_TPS"; diff --git a/client/src/main/java/org/apache/rocketmq/client/trace/AsyncTraceDispatcher.java b/client/src/main/java/org/apache/rocketmq/client/trace/AsyncTraceDispatcher.java index 0da760cf92..67b8a8a05c 100644 --- a/client/src/main/java/org/apache/rocketmq/client/trace/AsyncTraceDispatcher.java +++ b/client/src/main/java/org/apache/rocketmq/client/trace/AsyncTraceDispatcher.java @@ -35,6 +35,7 @@ import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.client.impl.consumer.DefaultMQPushConsumerImpl; import org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl; import org.apache.rocketmq.client.impl.producer.TopicPublishInfo; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.client.producer.DefaultMQProducer; import org.apache.rocketmq.client.producer.MessageQueueSelector; import org.apache.rocketmq.client.producer.SendCallback; @@ -44,14 +45,14 @@ import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.message.Message; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.common.topic.TopicValidator; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.RPCHook; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import static org.apache.rocketmq.client.trace.TraceConstants.TRACE_INSTANCE_NAME; public class AsyncTraceDispatcher implements TraceDispatcher { - private final static Logger log = LoggerFactory.getLogger(AsyncTraceDispatcher.class); + + private final static InternalLogger log = ClientLogger.getLog(); private final static AtomicInteger COUNTER = new AtomicInteger(); private final int queueSize; private final int batchSize; diff --git a/client/src/main/resources/rmq.client.logback.xml b/client/src/main/resources/rmq.client.logback.xml deleted file mode 100644 index 5d398b434b..0000000000 --- a/client/src/main/resources/rmq.client.logback.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - %yellow(%d{yyy-MM-dd HH:mm:ss.SSS,GMT+8}) %highlight(%-5p) %boldWhite([%pid]) %magenta([%t]) %boldGreen([%logger{12}#%M:%L]) - %m%n - - UTF-8 - - - - true - - ${rocketmq.log.root:-${user.home}${file.separator}logs${file.separator}rocketmqlogs}${file.separator}rocketmq_client.log - - - - ${rocketmq.log.root:-${user.home}${file.separator}logs${file.separator}rocketmqlogs}${file.separator}other_days${file.separator}rocketmq_client-%i.log.gz - - 1 - ${rocketmq.log.file.maxIndex:-10} - - - 64MB - - - %d{yyy-MM-dd HH:mm:ss.SSS,GMT+8} %-5p [%pid] [%t] [%logger{12}#%M:%L] - %m%n - UTF-8 - - - - - - - - - \ No newline at end of file diff --git a/client/src/test/resources/log4j2.xml b/client/src/test/resources/log4j2.xml new file mode 100644 index 0000000000..52cf2a8869 --- /dev/null +++ b/client/src/test/resources/log4j2.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/common/BUILD.bazel b/common/BUILD.bazel index f85bda7ee3..8370023d2f 100644 --- a/common/BUILD.bazel +++ b/common/BUILD.bazel @@ -21,6 +21,7 @@ java_library( srcs = glob(["src/main/java/**/*.java"]), visibility = ["//visibility:public"], deps = [ + "//logging", "@maven//:com_alibaba_fastjson", "@maven//:com_github_luben_zstd_jni", "@maven//:com_google_guava_guava", @@ -37,7 +38,6 @@ java_library( "@maven//:io_opentelemetry_opentelemetry_sdk_metrics", "@maven//:org_apache_commons_commons_lang3", "@maven//:org_lz4_lz4_java", - "@maven//:io_github_aliyun_mq_rocketmq_slf4j_api", ], ) diff --git a/common/pom.xml b/common/pom.xml index c62f863845..250b2584e7 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -32,6 +32,10 @@ + + ${project.groupId} + rocketmq-logging + com.alibaba fastjson @@ -60,6 +64,11 @@ com.google.guava guava + + org.slf4j + slf4j-api + 1.7.7 + commons-codec commons-codec @@ -92,13 +101,5 @@ javax.annotation javax.annotation-api - - io.github.aliyun-mq - rocketmq-slf4j-api - - - io.github.aliyun-mq - rocketmq-logback-classic - diff --git a/common/src/main/java/org/apache/rocketmq/common/AbstractBrokerRunnable.java b/common/src/main/java/org/apache/rocketmq/common/AbstractBrokerRunnable.java index 8bce59d762..fa799be9c3 100644 --- a/common/src/main/java/org/apache/rocketmq/common/AbstractBrokerRunnable.java +++ b/common/src/main/java/org/apache/rocketmq/common/AbstractBrokerRunnable.java @@ -17,6 +17,8 @@ package org.apache.rocketmq.common; +import org.apache.rocketmq.logging.InnerLoggerFactory; + public abstract class AbstractBrokerRunnable implements Runnable { protected final BrokerIdentity brokerIdentity; @@ -33,7 +35,7 @@ public abstract class AbstractBrokerRunnable implements Runnable { public void run() { if (brokerIdentity.isInBrokerContainer()) { // set threadlocal broker identity to forward logging to corresponding broker -// InnerLoggerFactory.BROKER_IDENTITY.set(brokerIdentity.getCanonicalName()); + InnerLoggerFactory.BROKER_IDENTITY.set(brokerIdentity.getCanonicalName()); } run2(); } diff --git a/common/src/main/java/org/apache/rocketmq/common/BrokerConfig.java b/common/src/main/java/org/apache/rocketmq/common/BrokerConfig.java index 1c9b301d80..7144397853 100644 --- a/common/src/main/java/org/apache/rocketmq/common/BrokerConfig.java +++ b/common/src/main/java/org/apache/rocketmq/common/BrokerConfig.java @@ -23,11 +23,11 @@ import org.apache.rocketmq.common.constant.PermName; import org.apache.rocketmq.common.message.MessageRequestMode; import org.apache.rocketmq.common.topic.TopicValidator; import org.apache.rocketmq.common.utils.NetworkUtil; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public class BrokerConfig extends BrokerIdentity { - private static final Logger log = LoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); private String brokerConfigPath = null; diff --git a/common/src/main/java/org/apache/rocketmq/common/BrokerIdentity.java b/common/src/main/java/org/apache/rocketmq/common/BrokerIdentity.java index be8cf79541..74f8126f23 100644 --- a/common/src/main/java/org/apache/rocketmq/common/BrokerIdentity.java +++ b/common/src/main/java/org/apache/rocketmq/common/BrokerIdentity.java @@ -24,13 +24,14 @@ import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; import org.apache.rocketmq.common.annotation.ImportantField; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InnerLoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public class BrokerIdentity { private static final String DEFAULT_CLUSTER_NAME = "DefaultCluster"; - protected static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); + protected static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); private static String localHostName; @@ -116,7 +117,7 @@ public class BrokerIdentity { public String getCanonicalName() { if (isBrokerContainer) { -// return InnerLoggerFactory.BROKER_CONTAINER_NAME; + return InnerLoggerFactory.BROKER_CONTAINER_NAME; } return this.getBrokerClusterName() + "_" + this.getBrokerName() + "_" + this.getBrokerId(); } diff --git a/common/src/main/java/org/apache/rocketmq/common/ConfigManager.java b/common/src/main/java/org/apache/rocketmq/common/ConfigManager.java index 9fc3304e43..13d5b6be44 100644 --- a/common/src/main/java/org/apache/rocketmq/common/ConfigManager.java +++ b/common/src/main/java/org/apache/rocketmq/common/ConfigManager.java @@ -19,11 +19,11 @@ package org.apache.rocketmq.common; import java.io.IOException; import java.util.Map; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public abstract class ConfigManager { - private static final Logger log = LoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); public abstract String encode(); diff --git a/common/src/main/java/org/apache/rocketmq/common/MixAll.java b/common/src/main/java/org/apache/rocketmq/common/MixAll.java index 6abf3e7a83..f18df48c1c 100644 --- a/common/src/main/java/org/apache/rocketmq/common/MixAll.java +++ b/common/src/main/java/org/apache/rocketmq/common/MixAll.java @@ -20,8 +20,8 @@ import org.apache.rocketmq.common.annotation.ImportantField; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.help.FAQUrl; import org.apache.rocketmq.common.utils.IOTinyUtils; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import java.io.ByteArrayInputStream; import java.io.File; @@ -103,7 +103,7 @@ public class MixAll { public static final String ZONE_NAME = "__ZONE_NAME"; public static final String ZONE_MODE = "__ZONE_MODE"; - private static final Logger log = LoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); public static final String LOGICAL_QUEUE_MOCK_BROKER_PREFIX = "__syslo__"; public static final String METADATA_SCOPE_GLOBAL = "__global__"; public static final String LOGICAL_QUEUE_MOCK_BROKER_NAME_NOT_EXIST = "__syslo__none__"; @@ -252,11 +252,11 @@ public class MixAll { return null; } - public static void printObjectProperties(final Logger logger, final Object object) { + public static void printObjectProperties(final InternalLogger logger, final Object object) { printObjectProperties(logger, object, false); } - public static void printObjectProperties(final Logger logger, final Object object, + public static void printObjectProperties(final InternalLogger logger, final Object object, final boolean onlyImportantField) { Field[] fields = object.getClass().getDeclaredFields(); for (Field field : fields) { diff --git a/common/src/main/java/org/apache/rocketmq/common/ServiceThread.java b/common/src/main/java/org/apache/rocketmq/common/ServiceThread.java index 6023e9e8a3..a84bcc861f 100644 --- a/common/src/main/java/org/apache/rocketmq/common/ServiceThread.java +++ b/common/src/main/java/org/apache/rocketmq/common/ServiceThread.java @@ -19,11 +19,11 @@ package org.apache.rocketmq.common; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public abstract class ServiceThread implements Runnable { - private static final Logger log = LoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); private static final long JOIN_TIME = 90 * 1000; diff --git a/common/src/main/java/org/apache/rocketmq/common/ThreadFactoryImpl.java b/common/src/main/java/org/apache/rocketmq/common/ThreadFactoryImpl.java index a87c1713aa..a21fb35c18 100644 --- a/common/src/main/java/org/apache/rocketmq/common/ThreadFactoryImpl.java +++ b/common/src/main/java/org/apache/rocketmq/common/ThreadFactoryImpl.java @@ -20,12 +20,12 @@ package org.apache.rocketmq.common; import java.util.concurrent.ThreadFactory; import java.util.concurrent.atomic.AtomicLong; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public class ThreadFactoryImpl implements ThreadFactory { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); private final AtomicLong threadIndex = new AtomicLong(0); private final String threadNamePrefix; diff --git a/common/src/main/java/org/apache/rocketmq/common/UtilAll.java b/common/src/main/java/org/apache/rocketmq/common/UtilAll.java index 8b7b26992c..81f5df7ec7 100644 --- a/common/src/main/java/org/apache/rocketmq/common/UtilAll.java +++ b/common/src/main/java/org/apache/rocketmq/common/UtilAll.java @@ -47,14 +47,14 @@ import org.apache.commons.lang3.JavaVersion; import org.apache.commons.lang3.SystemUtils; import org.apache.commons.validator.routines.InetAddressValidator; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import sun.misc.Unsafe; import sun.nio.ch.DirectBuffer; public class UtilAll { - private static final Logger log = LoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); - private static final Logger STORE_LOG = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); + private static final InternalLogger STORE_LOG = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); public static final String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; diff --git a/common/src/main/java/org/apache/rocketmq/common/compression/Lz4Compressor.java b/common/src/main/java/org/apache/rocketmq/common/compression/Lz4Compressor.java index 162487ad99..4e537d856c 100644 --- a/common/src/main/java/org/apache/rocketmq/common/compression/Lz4Compressor.java +++ b/common/src/main/java/org/apache/rocketmq/common/compression/Lz4Compressor.java @@ -23,11 +23,11 @@ import java.io.IOException; import net.jpountz.lz4.LZ4FrameInputStream; import net.jpountz.lz4.LZ4FrameOutputStream; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public class Lz4Compressor implements Compressor { - private static final Logger log = LoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); @Override public byte[] compress(byte[] src, int level) throws IOException { diff --git a/common/src/main/java/org/apache/rocketmq/common/compression/ZlibCompressor.java b/common/src/main/java/org/apache/rocketmq/common/compression/ZlibCompressor.java index a457830c38..64e798f03a 100644 --- a/common/src/main/java/org/apache/rocketmq/common/compression/ZlibCompressor.java +++ b/common/src/main/java/org/apache/rocketmq/common/compression/ZlibCompressor.java @@ -23,11 +23,11 @@ import java.io.IOException; import java.util.zip.DeflaterOutputStream; import java.util.zip.InflaterInputStream; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public class ZlibCompressor implements Compressor { - private static final Logger log = LoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); @Override public byte[] compress(byte[] src, int level) throws IOException { diff --git a/common/src/main/java/org/apache/rocketmq/common/compression/ZstdCompressor.java b/common/src/main/java/org/apache/rocketmq/common/compression/ZstdCompressor.java index 5e1351d207..3a220ce9fa 100644 --- a/common/src/main/java/org/apache/rocketmq/common/compression/ZstdCompressor.java +++ b/common/src/main/java/org/apache/rocketmq/common/compression/ZstdCompressor.java @@ -23,11 +23,11 @@ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public class ZstdCompressor implements Compressor { - private static final Logger log = LoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); @Override public byte[] compress(byte[] src, int level) throws IOException { diff --git a/common/src/main/java/org/apache/rocketmq/common/namesrv/DefaultTopAddressing.java b/common/src/main/java/org/apache/rocketmq/common/namesrv/DefaultTopAddressing.java index f45b2aad6b..be7e78c7ea 100644 --- a/common/src/main/java/org/apache/rocketmq/common/namesrv/DefaultTopAddressing.java +++ b/common/src/main/java/org/apache/rocketmq/common/namesrv/DefaultTopAddressing.java @@ -28,12 +28,12 @@ import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.help.FAQUrl; import org.apache.rocketmq.common.utils.HttpTinyClient; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public class DefaultTopAddressing implements TopAddressing { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); private String nsAddr; private String wsAddr; diff --git a/common/src/main/java/org/apache/rocketmq/common/queue/ConcurrentTreeMap.java b/common/src/main/java/org/apache/rocketmq/common/queue/ConcurrentTreeMap.java index 774a428185..b5999a7061 100644 --- a/common/src/main/java/org/apache/rocketmq/common/queue/ConcurrentTreeMap.java +++ b/common/src/main/java/org/apache/rocketmq/common/queue/ConcurrentTreeMap.java @@ -22,14 +22,14 @@ import java.util.Map; import java.util.TreeMap; import java.util.concurrent.locks.ReentrantLock; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; /** * thread safe */ public class ConcurrentTreeMap { - private static final Logger log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private final ReentrantLock lock; private TreeMap tree; private RoundQueue roundQueue; diff --git a/common/src/main/java/org/apache/rocketmq/common/statistics/StatisticsItemPrinter.java b/common/src/main/java/org/apache/rocketmq/common/statistics/StatisticsItemPrinter.java index 5901acc736..26c1df8ca6 100644 --- a/common/src/main/java/org/apache/rocketmq/common/statistics/StatisticsItemPrinter.java +++ b/common/src/main/java/org/apache/rocketmq/common/statistics/StatisticsItemPrinter.java @@ -16,19 +16,19 @@ */ package org.apache.rocketmq.common.statistics; -import org.apache.rocketmq.shade.org.slf4j.Logger; +import org.apache.rocketmq.logging.InternalLogger; public class StatisticsItemPrinter { - private Logger log; + private InternalLogger log; private StatisticsItemFormatter formatter; - public StatisticsItemPrinter(StatisticsItemFormatter formatter, Logger log) { + public StatisticsItemPrinter(StatisticsItemFormatter formatter, InternalLogger log) { this.formatter = formatter; this.log = log; } - public void log(Logger log) { + public void log(InternalLogger log) { this.log = log; } diff --git a/common/src/main/java/org/apache/rocketmq/common/stats/MomentStatsItem.java b/common/src/main/java/org/apache/rocketmq/common/stats/MomentStatsItem.java index 1470754a35..bc987b191e 100644 --- a/common/src/main/java/org/apache/rocketmq/common/stats/MomentStatsItem.java +++ b/common/src/main/java/org/apache/rocketmq/common/stats/MomentStatsItem.java @@ -21,7 +21,7 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; import org.apache.rocketmq.common.UtilAll; -import org.apache.rocketmq.shade.org.slf4j.Logger; +import org.apache.rocketmq.logging.InternalLogger; public class MomentStatsItem { @@ -30,10 +30,10 @@ public class MomentStatsItem { private final String statsName; private final String statsKey; private final ScheduledExecutorService scheduledExecutorService; - private final Logger log; + private final InternalLogger log; public MomentStatsItem(String statsName, String statsKey, - ScheduledExecutorService scheduledExecutorService, Logger log) { + ScheduledExecutorService scheduledExecutorService, InternalLogger log) { this.statsName = statsName; this.statsKey = statsKey; this.scheduledExecutorService = scheduledExecutorService; diff --git a/common/src/main/java/org/apache/rocketmq/common/stats/MomentStatsItemSet.java b/common/src/main/java/org/apache/rocketmq/common/stats/MomentStatsItemSet.java index 96e1d50606..522130e36d 100644 --- a/common/src/main/java/org/apache/rocketmq/common/stats/MomentStatsItemSet.java +++ b/common/src/main/java/org/apache/rocketmq/common/stats/MomentStatsItemSet.java @@ -24,16 +24,16 @@ import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import org.apache.rocketmq.common.UtilAll; -import org.apache.rocketmq.shade.org.slf4j.Logger; +import org.apache.rocketmq.logging.InternalLogger; public class MomentStatsItemSet { private final ConcurrentMap statsItemTable = new ConcurrentHashMap<>(128); private final String statsName; private final ScheduledExecutorService scheduledExecutorService; - private final Logger log; + private final InternalLogger log; - public MomentStatsItemSet(String statsName, ScheduledExecutorService scheduledExecutorService, Logger log) { + public MomentStatsItemSet(String statsName, ScheduledExecutorService scheduledExecutorService, InternalLogger log) { this.statsName = statsName; this.scheduledExecutorService = scheduledExecutorService; this.log = log; diff --git a/common/src/main/java/org/apache/rocketmq/common/stats/RTStatsItem.java b/common/src/main/java/org/apache/rocketmq/common/stats/RTStatsItem.java index 5e86842b6f..102148cdc2 100644 --- a/common/src/main/java/org/apache/rocketmq/common/stats/RTStatsItem.java +++ b/common/src/main/java/org/apache/rocketmq/common/stats/RTStatsItem.java @@ -17,17 +17,17 @@ package org.apache.rocketmq.common.stats; +import org.apache.rocketmq.logging.InternalLogger; + import java.util.concurrent.ScheduledExecutorService; -import org.apache.rocketmq.shade.org.slf4j.Logger; /** * A StatItem for response time, the only difference between from StatsItem is it has a different log output. */ public class RTStatsItem extends StatsItem { - public RTStatsItem(String statsName, String statsKey, ScheduledExecutorService scheduledExecutorService, - Logger logger) { - super(statsName, statsKey, scheduledExecutorService, logger); + public RTStatsItem(String statsName, String statsKey, ScheduledExecutorService scheduledExecutorService, InternalLogger log) { + super(statsName, statsKey, scheduledExecutorService, log); } /** diff --git a/common/src/main/java/org/apache/rocketmq/common/stats/StatsItem.java b/common/src/main/java/org/apache/rocketmq/common/stats/StatsItem.java index 765c66df10..35e4da5b5c 100644 --- a/common/src/main/java/org/apache/rocketmq/common/stats/StatsItem.java +++ b/common/src/main/java/org/apache/rocketmq/common/stats/StatsItem.java @@ -23,9 +23,10 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.LongAdder; import org.apache.rocketmq.common.UtilAll; -import org.apache.rocketmq.shade.org.slf4j.Logger; +import org.apache.rocketmq.logging.InternalLogger; public class StatsItem { + private final LongAdder value = new LongAdder(); private final LongAdder times = new LongAdder(); @@ -39,14 +40,14 @@ public class StatsItem { private final String statsName; private final String statsKey; private final ScheduledExecutorService scheduledExecutorService; + private final InternalLogger log; - private final Logger logger; - - public StatsItem(String statsName, String statsKey, ScheduledExecutorService scheduledExecutorService, Logger logger) { + public StatsItem(String statsName, String statsKey, ScheduledExecutorService scheduledExecutorService, + InternalLogger log) { this.statsName = statsName; this.statsKey = statsKey; this.scheduledExecutorService = scheduledExecutorService; - this.logger = logger; + this.log = log; } private static StatsSnapshot computeStatsData(final LinkedList csList) { @@ -193,18 +194,18 @@ public class StatsItem { public void printAtMinutes() { StatsSnapshot ss = computeStatsData(this.csListMinute); - logger.info(String.format("[%s] [%s] Stats In One Minute, ", this.statsName, this.statsKey) + statPrintDetail(ss)); + log.info(String.format("[%s] [%s] Stats In One Minute, ", this.statsName, this.statsKey) + statPrintDetail(ss)); } public void printAtHour() { StatsSnapshot ss = computeStatsData(this.csListHour); - logger.info(String.format("[%s] [%s] Stats In One Hour, ", this.statsName, this.statsKey) + statPrintDetail(ss)); + log.info(String.format("[%s] [%s] Stats In One Hour, ", this.statsName, this.statsKey) + statPrintDetail(ss)); } public void printAtDay() { StatsSnapshot ss = computeStatsData(this.csListDay); - logger.info(String.format("[%s] [%s] Stats In One Day, ", this.statsName, this.statsKey) + statPrintDetail(ss)); + log.info(String.format("[%s] [%s] Stats In One Day, ", this.statsName, this.statsKey) + statPrintDetail(ss)); } protected String statPrintDetail(StatsSnapshot ss) { diff --git a/common/src/main/java/org/apache/rocketmq/common/stats/StatsItemSet.java b/common/src/main/java/org/apache/rocketmq/common/stats/StatsItemSet.java index b9bd8c9107..eb853847aa 100644 --- a/common/src/main/java/org/apache/rocketmq/common/stats/StatsItemSet.java +++ b/common/src/main/java/org/apache/rocketmq/common/stats/StatsItemSet.java @@ -24,7 +24,7 @@ import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import org.apache.rocketmq.common.UtilAll; -import org.apache.rocketmq.shade.org.slf4j.Logger; +import org.apache.rocketmq.logging.InternalLogger; public class StatsItemSet { private final ConcurrentMap statsItemTable = @@ -32,13 +32,12 @@ public class StatsItemSet { private final String statsName; private final ScheduledExecutorService scheduledExecutorService; + private final InternalLogger log; - private final Logger logger; - - public StatsItemSet(String statsName, ScheduledExecutorService scheduledExecutorService, Logger logger) { - this.logger = logger; + public StatsItemSet(String statsName, ScheduledExecutorService scheduledExecutorService, InternalLogger log) { this.statsName = statsName; this.scheduledExecutorService = scheduledExecutorService; + this.log = log; this.init(); } @@ -214,9 +213,9 @@ public class StatsItemSet { StatsItem statsItem = this.statsItemTable.get(statsKey); if (null == statsItem) { if (rtItem) { - statsItem = new RTStatsItem(this.statsName, statsKey, this.scheduledExecutorService, logger); + statsItem = new RTStatsItem(this.statsName, statsKey, this.scheduledExecutorService, this.log); } else { - statsItem = new StatsItem(this.statsName, statsKey, this.scheduledExecutorService, logger); + statsItem = new StatsItem(this.statsName, statsKey, this.scheduledExecutorService, this.log); } StatsItem prev = this.statsItemTable.putIfAbsent(statsKey, statsItem); diff --git a/common/src/main/java/org/apache/rocketmq/common/thread/ThreadPoolMonitor.java b/common/src/main/java/org/apache/rocketmq/common/thread/ThreadPoolMonitor.java index 7b25c7e3b9..e5bb6a394c 100644 --- a/common/src/main/java/org/apache/rocketmq/common/thread/ThreadPoolMonitor.java +++ b/common/src/main/java/org/apache/rocketmq/common/thread/ThreadPoolMonitor.java @@ -28,12 +28,12 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import org.apache.rocketmq.common.UtilAll; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public class ThreadPoolMonitor { - private static Logger jstackLogger = LoggerFactory.getLogger(ThreadPoolMonitor.class); - private static Logger waterMarkLogger = LoggerFactory.getLogger(ThreadPoolMonitor.class); + private static InternalLogger jstackLogger = InternalLoggerFactory.getLogger(ThreadPoolMonitor.class); + private static InternalLogger waterMarkLogger = InternalLoggerFactory.getLogger(ThreadPoolMonitor.class); private static final List MONITOR_EXECUTOR = new CopyOnWriteArrayList<>(); private static final ScheduledExecutorService MONITOR_SCHEDULED = Executors.newSingleThreadScheduledExecutor( @@ -45,7 +45,7 @@ public class ThreadPoolMonitor { private static volatile long jstackPeriodTime = 60000; private static volatile long jstackTime = System.currentTimeMillis(); - public static void config(Logger jstackLoggerConfig, Logger waterMarkLoggerConfig, + public static void config(InternalLogger jstackLoggerConfig, InternalLogger waterMarkLoggerConfig, boolean enablePrintJstack, long jstackPeriodTimeConfig, long threadPoolStatusPeriodTimeConfig) { jstackLogger = jstackLoggerConfig; waterMarkLogger = waterMarkLoggerConfig; diff --git a/common/src/main/java/org/apache/rocketmq/common/utils/NetworkUtil.java b/common/src/main/java/org/apache/rocketmq/common/utils/NetworkUtil.java index 36859b445e..5d05bc12fc 100644 --- a/common/src/main/java/org/apache/rocketmq/common/utils/NetworkUtil.java +++ b/common/src/main/java/org/apache/rocketmq/common/utils/NetworkUtil.java @@ -29,13 +29,13 @@ import java.nio.channels.spi.SelectorProvider; import java.util.ArrayList; import java.util.Enumeration; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public class NetworkUtil { public static final String OS_NAME = System.getProperty("os.name"); - private static final Logger log = LoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); private static boolean isLinuxPlatform = false; private static boolean isWindowsPlatform = false; diff --git a/common/src/main/java/org/apache/rocketmq/common/utils/ServiceProvider.java b/common/src/main/java/org/apache/rocketmq/common/utils/ServiceProvider.java index c465a44b30..00c8bffba1 100644 --- a/common/src/main/java/org/apache/rocketmq/common/utils/ServiceProvider.java +++ b/common/src/main/java/org/apache/rocketmq/common/utils/ServiceProvider.java @@ -20,8 +20,8 @@ package org.apache.rocketmq.common.utils; import java.nio.charset.StandardCharsets; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import java.io.BufferedReader; import java.io.InputStream; @@ -30,7 +30,9 @@ import java.util.ArrayList; import java.util.List; public class ServiceProvider { - private static final Logger LOG = LoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); + + private static final InternalLogger LOG = InternalLoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); + /** * A reference to the classloader that loaded this class. It's more efficient to compute it once and cache it here. */ diff --git a/common/src/main/java/org/apache/rocketmq/common/utils/ThreadUtils.java b/common/src/main/java/org/apache/rocketmq/common/utils/ThreadUtils.java index 7fb779636f..61ca4a8f2e 100644 --- a/common/src/main/java/org/apache/rocketmq/common/utils/ThreadUtils.java +++ b/common/src/main/java/org/apache/rocketmq/common/utils/ThreadUtils.java @@ -26,11 +26,11 @@ import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public final class ThreadUtils { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.TOOLS_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.TOOLS_LOGGER_NAME); public static ExecutorService newThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue workQueue, String processName, boolean isDaemon) { diff --git a/container/BUILD.bazel b/container/BUILD.bazel index 71611bda9d..15fc0ae77f 100644 --- a/container/BUILD.bazel +++ b/container/BUILD.bazel @@ -23,6 +23,7 @@ java_library( deps = [ "//broker", "//common", + "//logging", "//remoting", "//client", "//srvutil", @@ -41,7 +42,6 @@ java_library( "@maven//:ch_qos_logback_logback_core", "@maven//:ch_qos_logback_logback_classic", "@maven//:commons_cli_commons_cli", - "@maven//:io_github_aliyun_mq_rocketmq_slf4j_api", ], ) @@ -53,6 +53,7 @@ java_library( ":container", "//broker", "//common", + "//logging", "//remoting", "//client", "//srvutil", diff --git a/container/pom.xml b/container/pom.xml index dc7ab5dfb0..c0ea9d33d5 100644 --- a/container/pom.xml +++ b/container/pom.xml @@ -34,13 +34,6 @@ org.apache.rocketmq rocketmq-broker - ${project.version} - - - - org.slf4j - slf4j-api - test diff --git a/container/src/main/java/org/apache/rocketmq/container/BrokerContainer.java b/container/src/main/java/org/apache/rocketmq/container/BrokerContainer.java index e5c9209623..20f549baf5 100644 --- a/container/src/main/java/org/apache/rocketmq/container/BrokerContainer.java +++ b/container/src/main/java/org/apache/rocketmq/container/BrokerContainer.java @@ -39,8 +39,8 @@ import org.apache.rocketmq.common.ThreadFactoryImpl; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.utils.ThreadUtils; import org.apache.rocketmq.container.logback.BrokerLogbackConfigurator; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.Configuration; import org.apache.rocketmq.remoting.RPCHook; import org.apache.rocketmq.remoting.RemotingServer; @@ -51,7 +51,7 @@ import org.apache.rocketmq.store.config.BrokerRole; import org.apache.rocketmq.store.config.MessageStoreConfig; public class BrokerContainer implements IBrokerContainer { - private static final Logger LOG = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger LOG = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private final ScheduledExecutorService scheduledExecutorService = new ScheduledThreadPoolExecutor(1, new BasicThreadFactory.Builder() diff --git a/container/src/main/java/org/apache/rocketmq/container/BrokerContainerProcessor.java b/container/src/main/java/org/apache/rocketmq/container/BrokerContainerProcessor.java index ea28bd7838..671ea5ff99 100644 --- a/container/src/main/java/org/apache/rocketmq/container/BrokerContainerProcessor.java +++ b/container/src/main/java/org/apache/rocketmq/container/BrokerContainerProcessor.java @@ -27,8 +27,8 @@ import org.apache.rocketmq.common.BrokerConfig; import org.apache.rocketmq.common.BrokerIdentity; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.netty.NettyRequestProcessor; @@ -41,7 +41,7 @@ import org.apache.rocketmq.remoting.protocol.header.RemoveBrokerRequestHeader; import org.apache.rocketmq.store.config.MessageStoreConfig; public class BrokerContainerProcessor implements NettyRequestProcessor { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private final BrokerContainer brokerContainer; private List brokerBootHookList; diff --git a/container/src/main/java/org/apache/rocketmq/container/BrokerContainerStartup.java b/container/src/main/java/org/apache/rocketmq/container/BrokerContainerStartup.java index f60c99b0be..d58f8ae57a 100644 --- a/container/src/main/java/org/apache/rocketmq/container/BrokerContainerStartup.java +++ b/container/src/main/java/org/apache/rocketmq/container/BrokerContainerStartup.java @@ -16,6 +16,8 @@ */ package org.apache.rocketmq.container; +import ch.qos.logback.classic.LoggerContext; +import ch.qos.logback.classic.joran.JoranConfigurator; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.InputStream; @@ -34,14 +36,16 @@ import org.apache.rocketmq.common.MQVersion; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.utils.NetworkUtil; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.netty.NettyClientConfig; import org.apache.rocketmq.remoting.netty.NettyServerConfig; import org.apache.rocketmq.remoting.netty.NettySystemConfig; import org.apache.rocketmq.remoting.protocol.RemotingCommand; import org.apache.rocketmq.srvutil.ServerUtil; import org.apache.rocketmq.store.config.MessageStoreConfig; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class BrokerContainerStartup { private static final String BROKER_CONTAINER_CONFIG_OPTION = "c"; @@ -51,9 +55,10 @@ public class BrokerContainerStartup { public static Properties properties = null; public static CommandLine commandLine = null; public static String configFile = null; - public static Logger log; + public static InternalLogger log; public static final SystemConfigFileHelper CONFIG_FILE_HELPER = new SystemConfigFileHelper(); public static String rocketmqHome = null; + public static final JoranConfigurator CONFIGURATOR = new JoranConfigurator(); public static void main(String[] args) { final BrokerContainer brokerContainer = startBrokerContainer(createBrokerContainer(args)); @@ -168,7 +173,7 @@ public class BrokerContainerStartup { brokerConfig.setBrokerConfigPath(filePath); - log = LoggerFactory.getLogger(brokerConfig.getLoggerIdentifier() + LoggerName.BROKER_LOGGER_NAME); + log = InternalLoggerFactory.getLogger(brokerConfig.getLoggerIdentifier() + LoggerName.BROKER_LOGGER_NAME); MixAll.printObjectProperties(log, brokerConfig); MixAll.printObjectProperties(log, messageStoreConfig); @@ -306,21 +311,29 @@ public class BrokerContainerStartup { } } + LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); + CONFIGURATOR.setContext(lc); + lc.reset(); + //https://logback.qos.ch/manual/configuration.html + lc.setPackagingDataEnabled(false); + + CONFIGURATOR.doConfigure(rocketmqHome + "/conf/logback_broker.xml"); + if (commandLine.hasOption(PRINT_PROPERTIES_OPTION)) { - Logger console = LoggerFactory.getLogger(LoggerName.BROKER_CONSOLE_NAME); + InternalLogger console = InternalLoggerFactory.getLogger(LoggerName.BROKER_CONSOLE_NAME); MixAll.printObjectProperties(console, containerConfig); MixAll.printObjectProperties(console, nettyServerConfig); MixAll.printObjectProperties(console, nettyClientConfig); System.exit(0); } else if (commandLine.hasOption(PRINT_IMPORTANT_PROPERTIES_OPTION)) { - Logger console = LoggerFactory.getLogger(LoggerName.BROKER_CONSOLE_NAME); + InternalLogger console = InternalLoggerFactory.getLogger(LoggerName.BROKER_CONSOLE_NAME); MixAll.printObjectProperties(console, containerConfig, true); MixAll.printObjectProperties(console, nettyServerConfig, true); MixAll.printObjectProperties(console, nettyClientConfig, true); System.exit(0); } - log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); MixAll.printObjectProperties(log, containerConfig); MixAll.printObjectProperties(log, nettyServerConfig); MixAll.printObjectProperties(log, nettyClientConfig); diff --git a/container/src/main/java/org/apache/rocketmq/container/logback/BrokerLogbackConfigurator.java b/container/src/main/java/org/apache/rocketmq/container/logback/BrokerLogbackConfigurator.java index ba74677218..45cbe9367d 100644 --- a/container/src/main/java/org/apache/rocketmq/container/logback/BrokerLogbackConfigurator.java +++ b/container/src/main/java/org/apache/rocketmq/container/logback/BrokerLogbackConfigurator.java @@ -17,16 +17,33 @@ package org.apache.rocketmq.container.logback; +import ch.qos.logback.classic.AsyncAppender; +import ch.qos.logback.classic.LoggerContext; +import ch.qos.logback.classic.encoder.PatternLayoutEncoder; +import ch.qos.logback.classic.spi.ILoggingEvent; +import ch.qos.logback.core.Appender; +import ch.qos.logback.core.encoder.Encoder; +import ch.qos.logback.core.rolling.FixedWindowRollingPolicy; +import ch.qos.logback.core.rolling.RollingFileAppender; +import ch.qos.logback.core.rolling.RollingPolicy; +import ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP; +import ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy; +import ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicy; +import ch.qos.logback.core.rolling.TimeBasedRollingPolicy; + +import java.lang.reflect.Field; import java.util.HashSet; import java.util.Set; +import ch.qos.logback.core.util.FileSize; import org.apache.rocketmq.common.BrokerIdentity; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; +import org.slf4j.LoggerFactory; public class BrokerLogbackConfigurator { - private static final Logger LOG = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger LOG = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private static final Set CONFIGURED_BROKER_LIST = new HashSet<>(); @@ -37,5 +54,134 @@ public class BrokerLogbackConfigurator { public static final String SUFFIX_INNER_APPENDER = "_inner"; public static void doConfigure(BrokerIdentity brokerIdentity) { + if (!CONFIGURED_BROKER_LIST.contains(brokerIdentity.getCanonicalName())) { + try { + LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); + for (ch.qos.logback.classic.Logger tempLogger : lc.getLoggerList()) { + String loggerName = tempLogger.getName(); + if (loggerName.startsWith(ROCKETMQ_PREFIX) + && !loggerName.endsWith(SUFFIX_CONSOLE) + && !loggerName.equals(LoggerName.ACCOUNT_LOGGER_NAME) + && !loggerName.equals(LoggerName.COMMERCIAL_LOGGER_NAME) + && !loggerName.equals(LoggerName.CONSUMER_STATS_LOGGER_NAME)) { + ch.qos.logback.classic.Logger logger = lc.getLogger(brokerIdentity.getLoggerIdentifier() + loggerName); + logger.setAdditive(tempLogger.isAdditive()); + logger.setLevel(tempLogger.getLevel()); + String appenderName = loggerName + SUFFIX_APPENDER; + Appender tempAppender = tempLogger.getAppender(appenderName); + if (tempAppender instanceof AsyncAppender) { + AsyncAppender tempAsyncAppender = (AsyncAppender) tempAppender; + AsyncAppender asyncAppender = new AsyncAppender(); + asyncAppender.setName(brokerIdentity.getLoggerIdentifier() + appenderName); + asyncAppender.setContext(tempAsyncAppender.getContext()); + + String innerAppenderName = appenderName + SUFFIX_INNER_APPENDER; + Appender tempInnerAppender = tempAsyncAppender.getAppender(innerAppenderName); + if (!(tempInnerAppender instanceof RollingFileAppender)) { + continue; + } + asyncAppender.addAppender(configureRollingFileAppender((RollingFileAppender) tempInnerAppender, + brokerIdentity, innerAppenderName)); + asyncAppender.start(); + logger.addAppender(asyncAppender); + } else if (tempAppender instanceof RollingFileAppender) { + logger.addAppender(configureRollingFileAppender((RollingFileAppender) tempAppender, + brokerIdentity, appenderName)); + } + } + } + } catch (Exception e) { + LOG.error("Configure logback for broker {} failed, will use default broker log config instead. {}", brokerIdentity.getCanonicalName(), e); + return; + } + + CONFIGURED_BROKER_LIST.add(brokerIdentity.getCanonicalName()); + } + } + + private static RollingFileAppender configureRollingFileAppender( + RollingFileAppender tempRollingFileAppender, BrokerIdentity brokerIdentity, String appenderName) + throws NoSuchFieldException, IllegalAccessException { + RollingFileAppender rollingFileAppender = new RollingFileAppender<>(); + + // configure appender name + rollingFileAppender.setName(brokerIdentity.getLoggerIdentifier() + appenderName); + + // configure file name + rollingFileAppender.setFile(tempRollingFileAppender.getFile().replaceAll(ROCKETMQ_LOGS, brokerIdentity.getCanonicalName() + "_" + ROCKETMQ_LOGS)); + + // configure append + rollingFileAppender.setAppend(true); + + // configure prudent + rollingFileAppender.setPrudent(tempRollingFileAppender.isPrudent()); + + // configure rollingPolicy + RollingPolicy originalRollingPolicy = tempRollingFileAppender.getRollingPolicy(); + if (originalRollingPolicy instanceof TimeBasedRollingPolicy) { + TimeBasedRollingPolicy tempRollingPolicy = (TimeBasedRollingPolicy) originalRollingPolicy; + TimeBasedRollingPolicy rollingPolicy = new TimeBasedRollingPolicy<>(); + rollingPolicy.setContext(tempRollingPolicy.getContext()); + rollingPolicy.setFileNamePattern(tempRollingPolicy.getFileNamePattern()); + SizeAndTimeBasedFNATP sizeAndTimeBasedFNATP = new SizeAndTimeBasedFNATP<>(); + sizeAndTimeBasedFNATP.setContext(tempRollingPolicy.getContext()); + TimeBasedFileNamingAndTriggeringPolicy timeBasedFileNamingAndTriggeringPolicy = + tempRollingPolicy.getTimeBasedFileNamingAndTriggeringPolicy(); + if (timeBasedFileNamingAndTriggeringPolicy instanceof SizeAndTimeBasedFNATP) { + SizeAndTimeBasedFNATP originalSizeAndTimeBasedFNATP = + (SizeAndTimeBasedFNATP) timeBasedFileNamingAndTriggeringPolicy; + Field field = originalSizeAndTimeBasedFNATP.getClass().getDeclaredField("maxFileSize"); + field.setAccessible(true); + sizeAndTimeBasedFNATP.setMaxFileSize((FileSize) field.get(originalSizeAndTimeBasedFNATP)); + sizeAndTimeBasedFNATP.setTimeBasedRollingPolicy(rollingPolicy); + } + rollingPolicy.setTimeBasedFileNamingAndTriggeringPolicy(sizeAndTimeBasedFNATP); + rollingPolicy.setMaxHistory(tempRollingPolicy.getMaxHistory()); + rollingPolicy.setParent(rollingFileAppender); + rollingPolicy.start(); + rollingFileAppender.setRollingPolicy(rollingPolicy); + } else if (originalRollingPolicy instanceof FixedWindowRollingPolicy) { + FixedWindowRollingPolicy tempRollingPolicy = (FixedWindowRollingPolicy) originalRollingPolicy; + FixedWindowRollingPolicy rollingPolicy = new FixedWindowRollingPolicy(); + rollingPolicy.setContext(tempRollingPolicy.getContext()); + rollingPolicy.setFileNamePattern(tempRollingPolicy.getFileNamePattern().replaceAll(ROCKETMQ_LOGS, brokerIdentity.getCanonicalName() + "_" + ROCKETMQ_LOGS)); + rollingPolicy.setMaxIndex(tempRollingPolicy.getMaxIndex()); + rollingPolicy.setMinIndex(tempRollingPolicy.getMinIndex()); + rollingPolicy.setParent(rollingFileAppender); + rollingPolicy.start(); + rollingFileAppender.setRollingPolicy(rollingPolicy); + } + + // configure triggerPolicy + if (tempRollingFileAppender.getTriggeringPolicy() instanceof SizeBasedTriggeringPolicy) { + SizeBasedTriggeringPolicy tempTriggerPolicy = (SizeBasedTriggeringPolicy) tempRollingFileAppender.getTriggeringPolicy(); + SizeBasedTriggeringPolicy triggerPolicy = new SizeBasedTriggeringPolicy<>(); + triggerPolicy.setContext(tempTriggerPolicy.getContext()); + Field field = triggerPolicy.getClass().getDeclaredField("maxFileSize"); + field.setAccessible(true); + triggerPolicy.setMaxFileSize((FileSize) field.get(triggerPolicy)); + triggerPolicy.start(); + rollingFileAppender.setTriggeringPolicy(triggerPolicy); + } + + // configure encoder + Encoder tempEncoder = tempRollingFileAppender.getEncoder(); + if (tempEncoder instanceof PatternLayoutEncoder) { + PatternLayoutEncoder tempPatternLayoutEncoder = (PatternLayoutEncoder) tempEncoder; + PatternLayoutEncoder patternLayoutEncoder = new PatternLayoutEncoder(); + patternLayoutEncoder.setContext(tempPatternLayoutEncoder.getContext()); + patternLayoutEncoder.setPattern(tempPatternLayoutEncoder.getPattern()); + patternLayoutEncoder.setCharset(tempPatternLayoutEncoder.getCharset()); + patternLayoutEncoder.start(); + + rollingFileAppender.setEncoder(patternLayoutEncoder); + } + + // configure context + rollingFileAppender.setContext(tempRollingFileAppender.getContext()); + + rollingFileAppender.start(); + + return rollingFileAppender; } } diff --git a/container/src/test/resources/rmq.logback-test.xml b/container/src/test/resources/rmq.logback-test.xml deleted file mode 100644 index c3ec0d1e81..0000000000 --- a/container/src/test/resources/rmq.logback-test.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - %d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n - - - - - - - - - - - - - \ No newline at end of file diff --git a/controller/BUILD.bazel b/controller/BUILD.bazel index f14480c5e6..ef9b9c5eb2 100644 --- a/controller/BUILD.bazel +++ b/controller/BUILD.bazel @@ -22,6 +22,7 @@ java_library( visibility = ["//visibility:public"], deps = [ "//common", + "//logging", "//remoting", "//client", "//srvutil", @@ -39,7 +40,6 @@ java_library( "@maven//:ch_qos_logback_logback_core", "@maven//:ch_qos_logback_logback_classic", "@maven//:commons_cli_commons_cli", - "@maven//:io_github_aliyun_mq_rocketmq_slf4j_api", ], ) @@ -50,6 +50,7 @@ java_library( deps = [ ":controller", "//common", + "//logging", "//remoting", "//client", "//srvutil", diff --git a/controller/pom.xml b/controller/pom.xml index db5fd1e55e..1f7698add1 100644 --- a/controller/pom.xml +++ b/controller/pom.xml @@ -44,18 +44,19 @@ ${project.groupId} rocketmq-client - ${project.version} test ${project.groupId} rocketmq-srvutil - ${project.version} + + + ch.qos.logback + logback-classic org.slf4j slf4j-api - test \ No newline at end of file diff --git a/controller/src/main/java/org/apache/rocketmq/controller/BrokerHousekeepingService.java b/controller/src/main/java/org/apache/rocketmq/controller/BrokerHousekeepingService.java index a18b12c869..50c96cfd3e 100644 --- a/controller/src/main/java/org/apache/rocketmq/controller/BrokerHousekeepingService.java +++ b/controller/src/main/java/org/apache/rocketmq/controller/BrokerHousekeepingService.java @@ -18,12 +18,12 @@ package org.apache.rocketmq.controller; import io.netty.channel.Channel; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.ChannelEventListener; public class BrokerHousekeepingService implements ChannelEventListener { - private static final Logger log = LoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME); private final ControllerManager controllerManager; public BrokerHousekeepingService(ControllerManager controllerManager) { diff --git a/controller/src/main/java/org/apache/rocketmq/controller/ControllerManager.java b/controller/src/main/java/org/apache/rocketmq/controller/ControllerManager.java index cd8d0f2baf..1add67a38a 100644 --- a/controller/src/main/java/org/apache/rocketmq/controller/ControllerManager.java +++ b/controller/src/main/java/org/apache/rocketmq/controller/ControllerManager.java @@ -34,8 +34,8 @@ import org.apache.rocketmq.controller.elect.impl.DefaultElectPolicy; import org.apache.rocketmq.controller.impl.DLedgerController; import org.apache.rocketmq.controller.impl.DefaultBrokerHeartbeatManager; import org.apache.rocketmq.controller.processor.ControllerRequestProcessor; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.Configuration; import org.apache.rocketmq.remoting.RemotingClient; import org.apache.rocketmq.remoting.RemotingServer; @@ -50,7 +50,7 @@ import org.apache.rocketmq.remoting.protocol.header.namesrv.controller.ElectMast import org.apache.rocketmq.remoting.protocol.header.namesrv.controller.ElectMasterResponseHeader; public class ControllerManager { - private static final Logger log = LoggerFactory.getLogger(LoggerName.CONTROLLER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.CONTROLLER_LOGGER_NAME); private final ControllerConfig controllerConfig; private final NettyServerConfig nettyServerConfig; diff --git a/controller/src/main/java/org/apache/rocketmq/controller/ControllerStartup.java b/controller/src/main/java/org/apache/rocketmq/controller/ControllerStartup.java index 7d24c0b82f..e27ee68abf 100644 --- a/controller/src/main/java/org/apache/rocketmq/controller/ControllerStartup.java +++ b/controller/src/main/java/org/apache/rocketmq/controller/ControllerStartup.java @@ -16,6 +16,9 @@ */ package org.apache.rocketmq.controller; +import ch.qos.logback.classic.LoggerContext; +import ch.qos.logback.classic.joran.JoranConfigurator; +import ch.qos.logback.core.joran.spi.JoranException; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.IOException; @@ -30,17 +33,18 @@ import org.apache.commons.lang3.StringUtils; import org.apache.rocketmq.common.ControllerConfig; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.netty.NettyClientConfig; import org.apache.rocketmq.remoting.netty.NettyServerConfig; import org.apache.rocketmq.remoting.protocol.RemotingCommand; import org.apache.rocketmq.srvutil.ServerUtil; import org.apache.rocketmq.srvutil.ShutdownHookThread; +import org.slf4j.LoggerFactory; public class ControllerStartup { - private static Logger log; + private static InternalLogger log; private static Properties properties = null; private static CommandLine commandLine = null; @@ -65,7 +69,7 @@ public class ControllerStartup { return null; } - public static ControllerManager createControllerManager(String[] args) throws IOException { + public static ControllerManager createControllerManager(String[] args) throws IOException, JoranException { Options options = ServerUtil.buildCommandlineOptions(new Options()); commandLine = ServerUtil.parseCmdLine("mqcontroller", args, buildCommandlineOptions(options), new DefaultParser()); if (null == commandLine) { @@ -102,12 +106,18 @@ public class ControllerStartup { MixAll.properties2Object(ServerUtil.commandLine2Properties(commandLine), controllerConfig); + LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); + JoranConfigurator configurator = new JoranConfigurator(); + configurator.setContext(lc); + lc.reset(); + if (StringUtils.isEmpty(controllerConfig.getRocketmqHome())) { System.out.printf("Please set the %s or %s variable in your environment!%n", MixAll.ROCKETMQ_HOME_ENV, MixAll.ROCKETMQ_HOME_PROPERTY); System.exit(-1); } + configurator.doConfigure(controllerConfig.getRocketmqHome() + "/conf/logback_controller.xml"); - log = LoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME); + log = InternalLoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME); MixAll.printObjectProperties(log, controllerConfig); MixAll.printObjectProperties(log, nettyServerConfig); diff --git a/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerController.java b/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerController.java index a45e18e187..ba8a156fb1 100644 --- a/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerController.java +++ b/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerController.java @@ -47,8 +47,8 @@ import org.apache.rocketmq.controller.impl.event.ControllerResult; import org.apache.rocketmq.controller.impl.event.EventMessage; import org.apache.rocketmq.controller.impl.event.EventSerializer; import org.apache.rocketmq.controller.impl.manager.ReplicasInfoManager; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.ChannelEventListener; import org.apache.rocketmq.remoting.CommandCustomHeader; import org.apache.rocketmq.remoting.RemotingServer; @@ -69,7 +69,7 @@ import org.apache.rocketmq.remoting.protocol.header.namesrv.controller.RegisterB */ public class DLedgerController implements Controller { - private static final Logger log = LoggerFactory.getLogger(LoggerName.CONTROLLER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.CONTROLLER_LOGGER_NAME); private final DLedgerServer dLedgerServer; private final ControllerConfig controllerConfig; private final DLedgerConfig dLedgerConfig; diff --git a/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerControllerStateMachine.java b/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerControllerStateMachine.java index de4503d1be..ef31241668 100644 --- a/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerControllerStateMachine.java +++ b/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerControllerStateMachine.java @@ -26,14 +26,14 @@ import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.controller.impl.event.EventMessage; import org.apache.rocketmq.controller.impl.event.EventSerializer; import org.apache.rocketmq.controller.impl.manager.ReplicasInfoManager; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; /** * The state machine implementation of the dledger controller */ public class DLedgerControllerStateMachine implements StateMachine { - private static final Logger log = LoggerFactory.getLogger(LoggerName.CONTROLLER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.CONTROLLER_LOGGER_NAME); private final ReplicasInfoManager replicasInfoManager; private final EventSerializer eventSerializer; private final String dLedgerId; diff --git a/controller/src/main/java/org/apache/rocketmq/controller/impl/DefaultBrokerHeartbeatManager.java b/controller/src/main/java/org/apache/rocketmq/controller/impl/DefaultBrokerHeartbeatManager.java index 6e32a12590..0e04ae48d6 100644 --- a/controller/src/main/java/org/apache/rocketmq/controller/impl/DefaultBrokerHeartbeatManager.java +++ b/controller/src/main/java/org/apache/rocketmq/controller/impl/DefaultBrokerHeartbeatManager.java @@ -33,12 +33,12 @@ import org.apache.rocketmq.common.ThreadFactoryImpl; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.controller.BrokerHeartbeatManager; import org.apache.rocketmq.controller.BrokerLiveInfo; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; public class DefaultBrokerHeartbeatManager implements BrokerHeartbeatManager { - private static final Logger log = LoggerFactory.getLogger(LoggerName.CONTROLLER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.CONTROLLER_LOGGER_NAME); private static final long DEFAULT_BROKER_CHANNEL_EXPIRED_TIME = 1000 * 10; private final ScheduledExecutorService scheduledService = Executors.newSingleThreadScheduledExecutor(new ThreadFactoryImpl("DefaultBrokerHeartbeatManager_scheduledService_")); private final ExecutorService executor = Executors.newFixedThreadPool(2, new ThreadFactoryImpl("DefaultBrokerHeartbeatManager_executorService_")); diff --git a/controller/src/main/java/org/apache/rocketmq/controller/impl/manager/ReplicasInfoManager.java b/controller/src/main/java/org/apache/rocketmq/controller/impl/manager/ReplicasInfoManager.java index 99808d281f..b3c76735e4 100644 --- a/controller/src/main/java/org/apache/rocketmq/controller/impl/manager/ReplicasInfoManager.java +++ b/controller/src/main/java/org/apache/rocketmq/controller/impl/manager/ReplicasInfoManager.java @@ -37,8 +37,8 @@ import org.apache.rocketmq.controller.impl.event.ControllerResult; import org.apache.rocketmq.controller.impl.event.ElectMasterEvent; import org.apache.rocketmq.controller.impl.event.EventMessage; import org.apache.rocketmq.controller.impl.event.EventType; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.ResponseCode; import org.apache.rocketmq.remoting.protocol.body.BrokerMemberGroup; import org.apache.rocketmq.remoting.protocol.body.InSyncStateData; @@ -59,7 +59,7 @@ import org.apache.rocketmq.remoting.protocol.header.namesrv.controller.RegisterB * be called sequentially */ public class ReplicasInfoManager { - private static final Logger log = LoggerFactory.getLogger(LoggerName.CONTROLLER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.CONTROLLER_LOGGER_NAME); private final ControllerConfig controllerConfig; private final Map replicaInfoTable; private final Map syncStateSetInfoTable; diff --git a/controller/src/main/java/org/apache/rocketmq/controller/processor/ControllerRequestProcessor.java b/controller/src/main/java/org/apache/rocketmq/controller/processor/ControllerRequestProcessor.java index b7ecfdf1d5..42094a6bd4 100644 --- a/controller/src/main/java/org/apache/rocketmq/controller/processor/ControllerRequestProcessor.java +++ b/controller/src/main/java/org/apache/rocketmq/controller/processor/ControllerRequestProcessor.java @@ -27,8 +27,8 @@ import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.controller.BrokerHeartbeatManager; import org.apache.rocketmq.controller.ControllerManager; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.netty.NettyRequestProcessor; import org.apache.rocketmq.remoting.protocol.RemotingCommand; @@ -59,7 +59,7 @@ import static org.apache.rocketmq.remoting.protocol.RequestCode.UPDATE_CONTROLLE * Processor for controller request */ public class ControllerRequestProcessor implements NettyRequestProcessor { - private static final Logger log = LoggerFactory.getLogger(LoggerName.CONTROLLER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.CONTROLLER_LOGGER_NAME); private static final int WAIT_TIMEOUT_OUT = 5; private final ControllerManager controllerManager; private final BrokerHeartbeatManager heartbeatManager; diff --git a/controller/src/test/resources/logback-test.xml b/controller/src/test/resources/logback-test.xml new file mode 100644 index 0000000000..e7ebef1af2 --- /dev/null +++ b/controller/src/test/resources/logback-test.xml @@ -0,0 +1,33 @@ + + + + + + + true + + %d{yyy-MM-dd HH:mm:ss,GMT+8} %p %t - %m%n + UTF-8 + + + + + + + + diff --git a/controller/src/test/resources/rmq.logback-test.xml b/controller/src/test/resources/rmq.logback-test.xml deleted file mode 100644 index c3ec0d1e81..0000000000 --- a/controller/src/test/resources/rmq.logback-test.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - %d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n - - - - - - - - - - - - - \ No newline at end of file diff --git a/broker/src/main/resources/rmq.broker.logback.xml b/distribution/conf/logback_broker.xml similarity index 69% rename from broker/src/main/resources/rmq.broker.logback.xml rename to distribution/conf/logback_broker.xml index 72a2c87326..3daa0b2f25 100644 --- a/broker/src/main/resources/rmq.broker.logback.xml +++ b/distribution/conf/logback_broker.xml @@ -18,15 +18,15 @@ + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/broker_default.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/broker_default.%i.log.gz 1 10 - + 100MB @@ -36,15 +36,15 @@ + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/broker.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/broker.%i.log.gz 1 20 - + 128MB @@ -52,20 +52,20 @@ UTF-8 - + + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/protection.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/protection.%i.log.gz 1 10 - + 100MB @@ -73,20 +73,20 @@ UTF-8 - + + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/watermark.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/watermark.%i.log.gz 1 10 - + 100MB @@ -94,20 +94,20 @@ UTF-8 - + + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/store.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/store.%i.log.gz 1 10 - + 128MB @@ -115,20 +115,20 @@ UTF-8 - + + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/broker_traffic.log true - + ${user.home}/logs/rocketmqlogs/otherdays/broker_traffic.%i.log.gz 1 10 - + 100MB @@ -136,20 +136,20 @@ UTF-8 - + + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/remoting.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/remoting.%i.log.gz 1 10 - + 100MB @@ -157,20 +157,20 @@ UTF-8 - + + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/storeerror.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/storeerror.%i.log.gz 1 10 - + 100MB @@ -178,21 +178,21 @@ UTF-8 - + + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/transaction.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/transaction.%i.log.gz 1 10 - + 100MB @@ -200,20 +200,20 @@ UTF-8 - + + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/lock.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/lock.%i.log.gz 1 5 - + 100MB @@ -221,20 +221,20 @@ UTF-8 - + + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/filter.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/filter.%i.log.gz 1 10 - + 100MB @@ -242,20 +242,20 @@ UTF-8 - + + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/stats.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/stats.%i.log.gz 1 5 - + 100MB @@ -265,31 +265,31 @@ + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/commercial.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/commercial.%i.log.gz 1 10 - + 500MB + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/pop.log true - + ${user.home}/logs/rocketmqlogs/otherdays/pop.%i.log 1 20 + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> 128MB @@ -298,11 +298,11 @@ - + - + true %d{yyy-MM-dd HH:mm:ss,GMT+8} %p %t - %m%n diff --git a/controller/src/main/resources/rmq.controller.logback.xml b/distribution/conf/logback_controller.xml similarity index 79% rename from controller/src/main/resources/rmq.controller.logback.xml rename to distribution/conf/logback_controller.xml index b6706f4bd4..ad49dac038 100644 --- a/controller/src/main/resources/rmq.controller.logback.xml +++ b/distribution/conf/logback_controller.xml @@ -18,16 +18,16 @@ + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/controller_default.log true - + ${user.home}/logs/rocketmqlogs/otherdays/controller_default.%i.log.gz 1 5 + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> 100MB @@ -37,16 +37,16 @@ + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/controller.log true - + ${user.home}/logs/rocketmqlogs/otherdays/controller.%i.log.gz 1 5 + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> 100MB @@ -54,12 +54,12 @@ UTF-8 - + 0 - + true %d{yyy-MM-dd HH:mm:ss,GMT+8} %p %t - %m%n diff --git a/namesrv/src/main/resources/rmq.namesrv.logback.xml b/distribution/conf/logback_namesrv.xml similarity index 77% rename from namesrv/src/main/resources/rmq.namesrv.logback.xml rename to distribution/conf/logback_namesrv.xml index f8ac6fbbd4..f8e0c59aca 100644 --- a/namesrv/src/main/resources/rmq.namesrv.logback.xml +++ b/distribution/conf/logback_namesrv.xml @@ -18,16 +18,16 @@ + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/namesrv_default.log true - + ${user.home}/logs/rocketmqlogs/otherdays/namesrv_default.%i.log.gz 1 5 + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> 100MB @@ -37,16 +37,16 @@ + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/namesrv.log true - + ${user.home}/logs/rocketmqlogs/otherdays/namesrv.%i.log.gz 1 5 + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> 100MB @@ -54,21 +54,21 @@ UTF-8 - + 0 + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/namesrv_traffic.log true - + ${user.home}/logs/rocketmqlogs/otherdays/namesrv_traffic.%i.log.gz 1 10 - + 100MB @@ -76,11 +76,11 @@ UTF-8 - + - + true %d{yyy-MM-dd HH:mm:ss,GMT+8} %p %t - %m%n diff --git a/proxy/src/main/resources/rmq.proxy.logback.xml b/distribution/conf/logback_proxy.xml similarity index 69% rename from proxy/src/main/resources/rmq.proxy.logback.xml rename to distribution/conf/logback_proxy.xml index cd9d9dd405..a0101dcfdb 100644 --- a/proxy/src/main/resources/rmq.proxy.logback.xml +++ b/distribution/conf/logback_proxy.xml @@ -19,15 +19,15 @@ + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/proxy.log true - + ${user.home}/logs/rocketmqlogs/otherdays/proxy.%i.log.gz 1 10 - + 128MB @@ -35,20 +35,20 @@ UTF-8 - + + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/proxy_watermark.log true - + ${user.home}/logs/rocketmqlogs/otherdays/proxy_watermark.%i.log.gz 1 10 - + 128MB @@ -56,21 +56,21 @@ UTF-8 - + + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/broker_default.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/broker_default.%i.log.gz 1 10 - + 100MB @@ -80,15 +80,15 @@ + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/broker.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/broker.%i.log.gz 1 20 - + 128MB @@ -96,20 +96,20 @@ UTF-8 - + + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/protection.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/protection.%i.log.gz 1 10 - + 100MB @@ -117,20 +117,20 @@ UTF-8 - + + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/watermark.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/watermark.%i.log.gz 1 10 - + 100MB @@ -138,20 +138,20 @@ UTF-8 - + + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/store.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/store.%i.log.gz 1 10 - + 128MB @@ -159,20 +159,20 @@ UTF-8 - + + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/remoting.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/remoting.%i.log.gz 1 10 - + 100MB @@ -180,20 +180,20 @@ UTF-8 - + + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/storeerror.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/storeerror.%i.log.gz 1 10 - + 100MB @@ -201,21 +201,21 @@ UTF-8 - + + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/transaction.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/transaction.%i.log.gz 1 10 - + 100MB @@ -223,20 +223,20 @@ UTF-8 - + + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/lock.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/lock.%i.log.gz 1 5 - + 100MB @@ -244,20 +244,20 @@ UTF-8 - + + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/filter.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/filter.%i.log.gz 1 10 - + 100MB @@ -265,20 +265,20 @@ UTF-8 - + + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/stats.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/stats.%i.log.gz 1 5 - + 100MB @@ -288,31 +288,31 @@ + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/${brokerLogDir}/commercial.log true - + ${user.home}/logs/rocketmqlogs/otherdays/${brokerLogDir}/commercial.%i.log.gz 1 10 - + 500MB + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/pop.log true - + ${user.home}/logs/rocketmqlogs/otherdays/pop.%i.log 1 20 + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> 128MB @@ -321,11 +321,11 @@ - + - + true %d{yyy-MM-dd HH:mm:ss,GMT+8} %p %t - %m%n diff --git a/tools/src/main/resources/rmq.tools.logback.xml b/distribution/conf/logback_tools.xml similarity index 79% rename from tools/src/main/resources/rmq.tools.logback.xml rename to distribution/conf/logback_tools.xml index babd1c6870..4a931365b1 100644 --- a/tools/src/main/resources/rmq.tools.logback.xml +++ b/distribution/conf/logback_tools.xml @@ -18,15 +18,15 @@ + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/tools_default.log true - + ${user.home}/logs/rocketmqlogs/otherdays/tools_default.%i.log.gz 1 5 - + 100MB @@ -36,16 +36,16 @@ + class="ch.qos.logback.core.rolling.RollingFileAppender"> ${user.home}/logs/rocketmqlogs/tools.log true - + ${user.home}/logs/rocketmqlogs/otherdays/tools.%i.log.gz 1 5 + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> 100MB @@ -53,12 +53,12 @@ UTF-8 - + - + true %d{yyy-MM-dd HH:mm:ss,GMT+8} %p %t - %m%n diff --git a/example/pom.xml b/example/pom.xml index 197002eef6..22a01c6c8e 100644 --- a/example/pom.xml +++ b/example/pom.xml @@ -35,22 +35,26 @@ ${project.groupId} rocketmq-client - ${project.version} ${project.groupId} rocketmq-srvutil - ${project.version} ${project.groupId} rocketmq-openmessaging - ${project.version} ${project.groupId} rocketmq-acl - ${project.version} + + + ${project.groupId} + rocketmq-tools + + + ch.qos.logback + logback-classic org.javassist diff --git a/example/src/main/java/org/apache/rocketmq/example/benchmark/BatchProducer.java b/example/src/main/java/org/apache/rocketmq/example/benchmark/BatchProducer.java index e182e36372..23e922766c 100644 --- a/example/src/main/java/org/apache/rocketmq/example/benchmark/BatchProducer.java +++ b/example/src/main/java/org/apache/rocketmq/example/benchmark/BatchProducer.java @@ -35,18 +35,18 @@ import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.RandomStringUtils; import org.apache.rocketmq.client.exception.MQBrokerException; import org.apache.rocketmq.client.exception.MQClientException; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.client.producer.DefaultMQProducer; import org.apache.rocketmq.client.producer.SendResult; import org.apache.rocketmq.client.producer.SendStatus; import org.apache.rocketmq.common.ThreadFactoryImpl; import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.message.Message; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.RPCHook; import org.apache.rocketmq.remoting.exception.RemotingException; import org.apache.rocketmq.remoting.protocol.RemotingCommand; import org.apache.rocketmq.remoting.protocol.SerializeType; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.srvutil.ServerUtil; public class BatchProducer { @@ -95,7 +95,7 @@ public class BatchProducer { final DefaultMQProducer producer = initInstance(namesrv, msgTraceEnable, rpcHook); producer.start(); - final Logger logger = LoggerFactory.getLogger(BatchProducer.class); + final InternalLogger log = ClientLogger.getLog(); final ExecutorService sendThreadPool = Executors.newFixedThreadPool(threadCount); for (int i = 0; i < threadCount; i++) { sendThreadPool.execute(new Runnable() { @@ -137,7 +137,7 @@ public class BatchProducer { } catch (RemotingException e) { statsBenchmark.getSendRequestFailedCount().increment(); statsBenchmark.getSendMessageFailedCount().add(msgs.size()); - logger.error("[BENCHMARK_PRODUCER] Send Exception", e); + log.error("[BENCHMARK_PRODUCER] Send Exception", e); try { Thread.sleep(3000); @@ -152,15 +152,15 @@ public class BatchProducer { } statsBenchmark.getSendRequestFailedCount().increment(); statsBenchmark.getSendMessageFailedCount().add(msgs.size()); - logger.error("[BENCHMARK_PRODUCER] Send Exception", e); + log.error("[BENCHMARK_PRODUCER] Send Exception", e); } catch (MQClientException e) { statsBenchmark.getSendRequestFailedCount().increment(); statsBenchmark.getSendMessageFailedCount().add(msgs.size()); - logger.error("[BENCHMARK_PRODUCER] Send Exception", e); + log.error("[BENCHMARK_PRODUCER] Send Exception", e); } catch (MQBrokerException e) { statsBenchmark.getSendRequestFailedCount().increment(); statsBenchmark.getSendMessageFailedCount().add(msgs.size()); - logger.error("[BENCHMARK_PRODUCER] Send Exception", e); + log.error("[BENCHMARK_PRODUCER] Send Exception", e); try { Thread.sleep(3000); } catch (InterruptedException ignored) { diff --git a/example/src/main/java/org/apache/rocketmq/example/benchmark/Producer.java b/example/src/main/java/org/apache/rocketmq/example/benchmark/Producer.java index 23896a250a..24266a7b12 100644 --- a/example/src/main/java/org/apache/rocketmq/example/benchmark/Producer.java +++ b/example/src/main/java/org/apache/rocketmq/example/benchmark/Producer.java @@ -27,17 +27,17 @@ import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.concurrent.BasicThreadFactory; import org.apache.rocketmq.client.exception.MQBrokerException; import org.apache.rocketmq.client.exception.MQClientException; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.client.producer.DefaultMQProducer; import org.apache.rocketmq.client.producer.SendCallback; import org.apache.rocketmq.client.producer.SendResult; import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.message.Message; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.RPCHook; import org.apache.rocketmq.remoting.exception.RemotingException; import org.apache.rocketmq.remoting.protocol.RemotingCommand; import org.apache.rocketmq.remoting.protocol.SerializeType; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.srvutil.ServerUtil; import java.util.Arrays; @@ -53,8 +53,6 @@ import java.util.concurrent.atomic.AtomicLong; public class Producer { - private static final Logger log = LoggerFactory.getLogger(Producer.class); - private static byte[] msgBody; private static final int MAX_LENGTH_ASYNC_QUEUE = 10000; private static final int SLEEP_FOR_A_WHILE = 100; @@ -93,6 +91,8 @@ public class Producer { } msgBody = sb.toString().getBytes(StandardCharsets.UTF_8); + final InternalLogger log = ClientLogger.getLog(); + final ExecutorService sendThreadPool = Executors.newFixedThreadPool(threadCount); final StatsBenchmarkProducer statsBenchmark = new StatsBenchmarkProducer(); diff --git a/example/src/main/java/org/apache/rocketmq/example/benchmark/timer/TimerProducer.java b/example/src/main/java/org/apache/rocketmq/example/benchmark/timer/TimerProducer.java index e1a18dc75b..e4b1d87cc5 100644 --- a/example/src/main/java/org/apache/rocketmq/example/benchmark/timer/TimerProducer.java +++ b/example/src/main/java/org/apache/rocketmq/example/benchmark/timer/TimerProducer.java @@ -23,14 +23,14 @@ import org.apache.commons.cli.Options; import org.apache.commons.lang3.StringUtils; import org.apache.rocketmq.client.exception.MQBrokerException; import org.apache.rocketmq.client.exception.MQClientException; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.client.producer.DefaultMQProducer; import org.apache.rocketmq.common.ThreadFactoryImpl; import org.apache.rocketmq.common.message.Message; import org.apache.rocketmq.common.message.MessageConst; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.exception.RemotingException; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.srvutil.ServerUtil; import java.io.UnsupportedEncodingException; @@ -48,7 +48,7 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; public class TimerProducer { - private static final Logger log = LoggerFactory.getLogger(TimerProducer.class); + private static final InternalLogger LOGGER = ClientLogger.getLog(); private final String topic; private final int threadCount; @@ -188,17 +188,17 @@ public class TimerProducer { } } catch (RemotingException e) { statsBenchmark.getSendRequestFailedCount().incrementAndGet(); - log.error("[BENCHMARK_PRODUCER] Send Exception", e); + LOGGER.error("[BENCHMARK_PRODUCER] Send Exception", e); sleep(3000); } catch (InterruptedException e) { statsBenchmark.getSendRequestFailedCount().incrementAndGet(); sleep(3000); } catch (MQClientException e) { statsBenchmark.getSendRequestFailedCount().incrementAndGet(); - log.error("[BENCHMARK_PRODUCER] Send Exception", e); + LOGGER.error("[BENCHMARK_PRODUCER] Send Exception", e); } catch (MQBrokerException e) { statsBenchmark.getReceiveResponseFailedCount().incrementAndGet(); - log.error("[BENCHMARK_PRODUCER] Send Exception", e); + LOGGER.error("[BENCHMARK_PRODUCER] Send Exception", e); sleep(3000); } } diff --git a/example/src/main/java/org/apache/rocketmq/example/rpc/AsyncRequestProducer.java b/example/src/main/java/org/apache/rocketmq/example/rpc/AsyncRequestProducer.java index 1d4989342c..072291d5c2 100644 --- a/example/src/main/java/org/apache/rocketmq/example/rpc/AsyncRequestProducer.java +++ b/example/src/main/java/org/apache/rocketmq/example/rpc/AsyncRequestProducer.java @@ -18,15 +18,15 @@ package org.apache.rocketmq.example.rpc; import org.apache.rocketmq.client.exception.MQClientException; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.client.producer.DefaultMQProducer; import org.apache.rocketmq.client.producer.RequestCallback; import org.apache.rocketmq.common.message.Message; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.common.RemotingHelper; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; public class AsyncRequestProducer { - private static final Logger log = LoggerFactory.getLogger(AsyncRequestProducer.class); + private static final InternalLogger log = ClientLogger.getLog(); public static void main(String[] args) throws MQClientException, InterruptedException { String producerGroup = "please_rename_unique_group_name"; diff --git a/example/src/main/java/org/apache/rocketmq/example/simple/PopPushConsumer.java b/example/src/main/java/org/apache/rocketmq/example/simple/PopPushConsumer.java new file mode 100644 index 0000000000..b2695db601 --- /dev/null +++ b/example/src/main/java/org/apache/rocketmq/example/simple/PopPushConsumer.java @@ -0,0 +1,62 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.rocketmq.example.simple; + +import java.util.Set; +import java.util.stream.Collectors; +import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; +import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; +import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; +import org.apache.rocketmq.common.consumer.ConsumeFromWhere; +import org.apache.rocketmq.common.message.MessageRequestMode; +import org.apache.rocketmq.remoting.protocol.body.ClusterInfo; +import org.apache.rocketmq.remoting.protocol.route.BrokerData; +import org.apache.rocketmq.tools.admin.DefaultMQAdminExt; + +public class PopPushConsumer { + + public static final String CONSUMER_GROUP = "CID_JODIE_1"; + public static final String TOPIC = "TopicTest"; + + // Or use AdminTools directly: mqadmin setConsumeMode -c cluster -t topic -g group -m POP -n 8 + private static void switchPop() throws Exception { + DefaultMQAdminExt mqAdminExt = new DefaultMQAdminExt(); + mqAdminExt.start(); + + ClusterInfo clusterInfo = mqAdminExt.examineBrokerClusterInfo(); + Set brokerAddrs = clusterInfo.getBrokerAddrTable().values().stream().map(BrokerData::selectBrokerAddr).collect(Collectors.toSet()); + + for (String brokerAddr : brokerAddrs) { + mqAdminExt.setMessageRequestMode(brokerAddr, TOPIC, CONSUMER_GROUP, MessageRequestMode.POP, 8, 3_000); + } + } + + public static void main(String[] args) throws Exception { + switchPop(); + + DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(CONSUMER_GROUP); + consumer.subscribe(TOPIC, "*"); + consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_LAST_OFFSET); + consumer.registerMessageListener((MessageListenerConcurrently) (msgs, context) -> { + System.out.printf("%s Receive New Messages: %s %n", Thread.currentThread().getName(), msgs); + return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; + }); + consumer.setClientRebalance(false); + consumer.start(); + System.out.printf("Consumer Started.%n"); + } +} diff --git a/filter/BUILD.bazel b/filter/BUILD.bazel index 048c3bdb62..7b6c8687b5 100644 --- a/filter/BUILD.bazel +++ b/filter/BUILD.bazel @@ -23,6 +23,7 @@ java_library( deps = [ "//common", "//remoting", + "//logging", "//srvutil", "@maven//:org_apache_commons_commons_lang3", "@maven//:commons_validator_commons_validator", diff --git a/filter/pom.xml b/filter/pom.xml index d83729148d..e26c72fec3 100644 --- a/filter/pom.xml +++ b/filter/pom.xml @@ -36,12 +36,10 @@ ${project.groupId} rocketmq-common - ${project.version} ${project.groupId} rocketmq-srvutil - ${project.version} com.google.guava diff --git a/filter/src/test/resources/rmq.logback-test.xml b/filter/src/test/resources/rmq.logback-test.xml deleted file mode 100644 index c3ec0d1e81..0000000000 --- a/filter/src/test/resources/rmq.logback-test.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - %d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n - - - - - - - - - - - - - \ No newline at end of file diff --git a/logging/BUILD.bazel b/logging/BUILD.bazel new file mode 100644 index 0000000000..a2380e71e7 --- /dev/null +++ b/logging/BUILD.bazel @@ -0,0 +1,24 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +java_library( + name = "logging", + srcs = glob(["src/main/java/**/*.java"]), + deps = [ + "@maven//:org_slf4j_slf4j_api", + ], + visibility = ["//visibility:public"], +) \ No newline at end of file diff --git a/logging/pom.xml b/logging/pom.xml new file mode 100644 index 0000000000..4d879cf1ea --- /dev/null +++ b/logging/pom.xml @@ -0,0 +1,48 @@ + + + + + org.apache.rocketmq + rocketmq-all + 5.0.1-SNAPSHOT + + + 4.0.0 + jar + rocketmq-logging + rocketmq-logging ${project.version} + + + ${basedir}/.. + + + + + org.slf4j + slf4j-api + true + + + ch.qos.logback + logback-classic + test + + + + \ No newline at end of file diff --git a/logging/src/main/java/org/apache/rocketmq/logging/InnerLoggerFactory.java b/logging/src/main/java/org/apache/rocketmq/logging/InnerLoggerFactory.java new file mode 100644 index 0000000000..114e068eaa --- /dev/null +++ b/logging/src/main/java/org/apache/rocketmq/logging/InnerLoggerFactory.java @@ -0,0 +1,482 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.logging; + +import org.apache.rocketmq.logging.inner.Logger; + +import java.util.HashMap; +import java.util.Map; + +public class InnerLoggerFactory extends InternalLoggerFactory { + + public InnerLoggerFactory() { + doRegister(); + } + + @Override + protected InternalLogger getLoggerInstance(String name) { + return new InnerLogger(name); + } + + @Override + protected String getLoggerType() { + return LOGGER_INNER; + } + + @Override + protected void shutdown() { + Logger.getRepository().shutdown(); + } + + public static class InnerLogger implements InternalLogger { + + private Logger logger; + + public InnerLogger(String name) { + logger = Logger.getLogger(name); + } + + @Override + public String getName() { + return logger.getName(); + } + + @Override + public void debug(String var1) { + logger.debug(var1); + } + + @Override + public void debug(String var1, Throwable var2) { + logger.debug(var1, var2); + } + + @Override + public void info(String var1) { + logger.info(var1); + } + + @Override + public void info(String var1, Throwable var2) { + logger.info(var1, var2); + } + + @Override + public void warn(String var1) { + logger.warn(var1); + } + + @Override + public void warn(String var1, Throwable var2) { + logger.warn(var1, var2); + } + + @Override + public void error(String var1) { + logger.error(var1); + } + + @Override + public void error(String var1, Throwable var2) { + logger.error(var1, var2); + } + + @Override + public void debug(String var1, Object var2) { + FormattingTuple format = MessageFormatter.format(var1, var2); + logger.debug(format.getMessage(), format.getThrowable()); + } + + @Override + public void debug(String var1, Object var2, Object var3) { + FormattingTuple format = MessageFormatter.format(var1, var2, var3); + logger.debug(format.getMessage(), format.getThrowable()); + } + + @Override + public void debug(String var1, Object... var2) { + FormattingTuple format = MessageFormatter.arrayFormat(var1, var2); + logger.debug(format.getMessage(), format.getThrowable()); + } + + @Override + public void info(String var1, Object var2) { + FormattingTuple format = MessageFormatter.format(var1, var2); + logger.info(format.getMessage(), format.getThrowable()); + } + + @Override + public void info(String var1, Object var2, Object var3) { + FormattingTuple format = MessageFormatter.format(var1, var2, var3); + logger.info(format.getMessage(), format.getThrowable()); + } + + @Override + public void info(String var1, Object... var2) { + FormattingTuple format = MessageFormatter.arrayFormat(var1, var2); + logger.info(format.getMessage(), format.getThrowable()); + } + + @Override + public void warn(String var1, Object var2) { + FormattingTuple format = MessageFormatter.format(var1, var2); + logger.warn(format.getMessage(), format.getThrowable()); + } + + @Override + public void warn(String var1, Object... var2) { + FormattingTuple format = MessageFormatter.arrayFormat(var1, var2); + logger.warn(format.getMessage(), format.getThrowable()); + } + + @Override + public void warn(String var1, Object var2, Object var3) { + FormattingTuple format = MessageFormatter.format(var1, var2, var3); + logger.warn(format.getMessage(), format.getThrowable()); + } + + @Override + public void error(String var1, Object var2) { + FormattingTuple format = MessageFormatter.format(var1, var2); + logger.warn(format.getMessage(), format.getThrowable()); + } + + @Override + public void error(String var1, Object var2, Object var3) { + FormattingTuple format = MessageFormatter.format(var1, var2, var3); + logger.warn(format.getMessage(), format.getThrowable()); + } + + @Override + public void error(String var1, Object... var2) { + FormattingTuple format = MessageFormatter.arrayFormat(var1, var2); + logger.warn(format.getMessage(), format.getThrowable()); + } + + public Logger getLogger() { + return logger; + } + } + + + public static class FormattingTuple { + private String message; + private Throwable throwable; + private Object[] argArray; + + public FormattingTuple(String message) { + this(message, null, null); + } + + public FormattingTuple(String message, Object[] argArray, Throwable throwable) { + this.message = message; + this.throwable = throwable; + if (throwable == null) { + this.argArray = argArray; + } else { + this.argArray = trimmedCopy(argArray); + } + + } + + static Object[] trimmedCopy(Object[] argArray) { + if (argArray != null && argArray.length != 0) { + int trimemdLen = argArray.length - 1; + Object[] trimmed = new Object[trimemdLen]; + System.arraycopy(argArray, 0, trimmed, 0, trimemdLen); + return trimmed; + } else { + throw new IllegalStateException("non-sensical empty or null argument array"); + } + } + + public String getMessage() { + return this.message; + } + + public Object[] getArgArray() { + return this.argArray; + } + + public Throwable getThrowable() { + return this.throwable; + } + } + + public static class MessageFormatter { + + public MessageFormatter() { + } + + public static FormattingTuple format(String messagePattern, Object arg) { + return arrayFormat(messagePattern, new Object[]{arg}); + } + + public static FormattingTuple format(String messagePattern, Object arg1, Object arg2) { + return arrayFormat(messagePattern, new Object[]{arg1, arg2}); + } + + static Throwable getThrowableCandidate(Object[] argArray) { + if (argArray != null && argArray.length != 0) { + Object lastEntry = argArray[argArray.length - 1]; + return lastEntry instanceof Throwable ? (Throwable) lastEntry : null; + } else { + return null; + } + } + + public static FormattingTuple arrayFormat(String messagePattern, Object[] argArray) { + Throwable throwableCandidate = getThrowableCandidate(argArray); + if (messagePattern == null) { + return new FormattingTuple(null, argArray, throwableCandidate); + } else if (argArray == null) { + return new FormattingTuple(messagePattern); + } else { + int i = 0; + StringBuilder sbuf = new StringBuilder(messagePattern.length() + 50); + + int len; + for (len = 0; len < argArray.length; ++len) { + int j = messagePattern.indexOf("{}", i); + if (j == -1) { + if (i == 0) { + return new FormattingTuple(messagePattern, argArray, throwableCandidate); + } + + sbuf.append(messagePattern.substring(i, messagePattern.length())); + return new FormattingTuple(sbuf.toString(), argArray, throwableCandidate); + } + + if (isEscapeDelimeter(messagePattern, j)) { + if (!isDoubleEscaped(messagePattern, j)) { + --len; + sbuf.append(messagePattern.substring(i, j - 1)); + sbuf.append('{'); + i = j + 1; + } else { + sbuf.append(messagePattern.substring(i, j - 1)); + deeplyAppendParameter(sbuf, argArray[len], null); + i = j + 2; + } + } else { + sbuf.append(messagePattern.substring(i, j)); + deeplyAppendParameter(sbuf, argArray[len], null); + i = j + 2; + } + } + + sbuf.append(messagePattern.substring(i, messagePattern.length())); + if (len < argArray.length - 1) { + return new FormattingTuple(sbuf.toString(), argArray, throwableCandidate); + } else { + return new FormattingTuple(sbuf.toString(), argArray, null); + } + } + } + + static boolean isEscapeDelimeter(String messagePattern, int delimeterStartIndex) { + if (delimeterStartIndex == 0) { + return false; + } else { + char potentialEscape = messagePattern.charAt(delimeterStartIndex - 1); + return potentialEscape == 92; + } + } + + static boolean isDoubleEscaped(String messagePattern, int delimeterStartIndex) { + return delimeterStartIndex >= 2 && messagePattern.charAt(delimeterStartIndex - 2) == 92; + } + + private static void deeplyAppendParameter(StringBuilder sbuf, Object o, Map seenMap) { + if (o == null) { + sbuf.append("null"); + } else { + if (!o.getClass().isArray()) { + safeObjectAppend(sbuf, o); + } else if (o instanceof boolean[]) { + booleanArrayAppend(sbuf, (boolean[]) o); + } else if (o instanceof byte[]) { + byteArrayAppend(sbuf, (byte[]) o); + } else if (o instanceof char[]) { + charArrayAppend(sbuf, (char[]) o); + } else if (o instanceof short[]) { + shortArrayAppend(sbuf, (short[]) o); + } else if (o instanceof int[]) { + intArrayAppend(sbuf, (int[]) o); + } else if (o instanceof long[]) { + longArrayAppend(sbuf, (long[]) o); + } else if (o instanceof float[]) { + floatArrayAppend(sbuf, (float[]) o); + } else if (o instanceof double[]) { + doubleArrayAppend(sbuf, (double[]) o); + } else { + objectArrayAppend(sbuf, (Object[]) o, seenMap); + } + + } + } + + private static void safeObjectAppend(StringBuilder sbuf, Object o) { + try { + String t = o.toString(); + sbuf.append(t); + } catch (Throwable var3) { + System.err.println("RocketMQ InnerLogger: Failed toString() invocation on an object of type [" + o.getClass().getName() + "]"); + var3.printStackTrace(); + sbuf.append("[FAILED toString()]"); + } + + } + + private static void objectArrayAppend(StringBuilder sbuf, Object[] a, Map seenMap) { + if (seenMap == null) { + seenMap = new HashMap<>(); + } + sbuf.append('['); + if (!seenMap.containsKey(a)) { + seenMap.put(a, null); + int len = a.length; + + for (int i = 0; i < len; ++i) { + deeplyAppendParameter(sbuf, a[i], seenMap); + if (i != len - 1) { + sbuf.append(", "); + } + } + + seenMap.remove(a); + } else { + sbuf.append("..."); + } + + sbuf.append(']'); + } + + private static void booleanArrayAppend(StringBuilder sbuf, boolean[] a) { + sbuf.append('['); + int len = a.length; + + for (int i = 0; i < len; ++i) { + sbuf.append(a[i]); + if (i != len - 1) { + sbuf.append(", "); + } + } + + sbuf.append(']'); + } + + private static void byteArrayAppend(StringBuilder sbuf, byte[] a) { + sbuf.append('['); + int len = a.length; + + for (int i = 0; i < len; ++i) { + sbuf.append(a[i]); + if (i != len - 1) { + sbuf.append(", "); + } + } + + sbuf.append(']'); + } + + private static void charArrayAppend(StringBuilder sbuf, char[] a) { + sbuf.append('['); + int len = a.length; + + for (int i = 0; i < len; ++i) { + sbuf.append(a[i]); + if (i != len - 1) { + sbuf.append(", "); + } + } + + sbuf.append(']'); + } + + private static void shortArrayAppend(StringBuilder sbuf, short[] a) { + sbuf.append('['); + int len = a.length; + + for (int i = 0; i < len; ++i) { + sbuf.append(a[i]); + if (i != len - 1) { + sbuf.append(", "); + } + } + + sbuf.append(']'); + } + + private static void intArrayAppend(StringBuilder sbuf, int[] a) { + sbuf.append('['); + int len = a.length; + + for (int i = 0; i < len; ++i) { + sbuf.append(a[i]); + if (i != len - 1) { + sbuf.append(", "); + } + } + + sbuf.append(']'); + } + + private static void longArrayAppend(StringBuilder sbuf, long[] a) { + sbuf.append('['); + int len = a.length; + + for (int i = 0; i < len; ++i) { + sbuf.append(a[i]); + if (i != len - 1) { + sbuf.append(", "); + } + } + + sbuf.append(']'); + } + + private static void floatArrayAppend(StringBuilder sbuf, float[] a) { + sbuf.append('['); + int len = a.length; + + for (int i = 0; i < len; ++i) { + sbuf.append(a[i]); + if (i != len - 1) { + sbuf.append(", "); + } + } + + sbuf.append(']'); + } + + private static void doubleArrayAppend(StringBuilder sbuf, double[] a) { + sbuf.append('['); + int len = a.length; + + for (int i = 0; i < len; ++i) { + sbuf.append(a[i]); + if (i != len - 1) { + sbuf.append(", "); + } + } + + sbuf.append(']'); + } + } +} diff --git a/logging/src/main/java/org/apache/rocketmq/logging/InternalLogger.java b/logging/src/main/java/org/apache/rocketmq/logging/InternalLogger.java new file mode 100644 index 0000000000..fae69dda6c --- /dev/null +++ b/logging/src/main/java/org/apache/rocketmq/logging/InternalLogger.java @@ -0,0 +1,63 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.logging; + +public interface InternalLogger { + + String getName(); + + void debug(String var1); + + void debug(String var1, Object var2); + + void debug(String var1, Object var2, Object var3); + + void debug(String var1, Object... var2); + + void debug(String var1, Throwable var2); + + void info(String var1); + + void info(String var1, Object var2); + + void info(String var1, Object var2, Object var3); + + void info(String var1, Object... var2); + + void info(String var1, Throwable var2); + + void warn(String var1); + + void warn(String var1, Object var2); + + void warn(String var1, Object... var2); + + void warn(String var1, Object var2, Object var3); + + void warn(String var1, Throwable var2); + + void error(String var1); + + void error(String var1, Object var2); + + void error(String var1, Object var2, Object var3); + + void error(String var1, Object... var2); + + void error(String var1, Throwable var2); +} diff --git a/logging/src/main/java/org/apache/rocketmq/logging/InternalLoggerFactory.java b/logging/src/main/java/org/apache/rocketmq/logging/InternalLoggerFactory.java new file mode 100644 index 0000000000..9c21f664b2 --- /dev/null +++ b/logging/src/main/java/org/apache/rocketmq/logging/InternalLoggerFactory.java @@ -0,0 +1,100 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.logging; + +import java.util.concurrent.ConcurrentHashMap; + +public abstract class InternalLoggerFactory { + + public static final String LOGGER_SLF4J = "slf4j"; + + public static final String LOGGER_INNER = "inner"; + + public static final String DEFAULT_LOGGER = LOGGER_SLF4J; + + public static final String BROKER_CONTAINER_NAME = "BrokerContainer"; + + /** + * Loggers with following name will be directed to default logger for LogTail parser. + */ + public static final String CONSUMER_STATS_LOGGER_NAME = "RocketmqConsumerStats"; + public static final String COMMERCIAL_LOGGER_NAME = "RocketmqCommercial"; + public static final String ACCOUNT_LOGGER_NAME = "RocketmqAccount"; + + private static String loggerType = null; + + public static final ThreadLocal BROKER_IDENTITY = new ThreadLocal<>(); + + private static ConcurrentHashMap loggerFactoryCache = new ConcurrentHashMap<>(); + + public static InternalLogger getLogger(Class clazz) { + return getLogger(clazz.getName()); + } + + public static InternalLogger getLogger(String name) { + return getLoggerFactory().getLoggerInstance(name); + } + + private static InternalLoggerFactory getLoggerFactory() { + InternalLoggerFactory internalLoggerFactory = null; + if (loggerType != null) { + internalLoggerFactory = loggerFactoryCache.get(loggerType); + } + if (internalLoggerFactory == null) { + internalLoggerFactory = loggerFactoryCache.get(DEFAULT_LOGGER); + } + if (internalLoggerFactory == null) { + internalLoggerFactory = loggerFactoryCache.get(LOGGER_INNER); + } + if (internalLoggerFactory == null) { + throw new RuntimeException("[RocketMQ] Logger init failed, please check logger"); + } + return internalLoggerFactory; + } + + public static void setCurrentLoggerType(String type) { + loggerType = type; + } + + static { + try { + new Slf4jLoggerFactory(); + } catch (Throwable e) { + //ignore + } + try { + new InnerLoggerFactory(); + } catch (Throwable e) { + //ignore + } + } + + protected void doRegister() { + String loggerType = getLoggerType(); + if (loggerFactoryCache.get(loggerType) != null) { + return; + } + loggerFactoryCache.put(loggerType, this); + } + + protected abstract void shutdown(); + + protected abstract InternalLogger getLoggerInstance(String name); + + protected abstract String getLoggerType(); +} diff --git a/logging/src/main/java/org/apache/rocketmq/logging/Slf4jLoggerFactory.java b/logging/src/main/java/org/apache/rocketmq/logging/Slf4jLoggerFactory.java new file mode 100644 index 0000000000..f1f727cc4c --- /dev/null +++ b/logging/src/main/java/org/apache/rocketmq/logging/Slf4jLoggerFactory.java @@ -0,0 +1,193 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.logging; + +import java.util.HashMap; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class Slf4jLoggerFactory extends InternalLoggerFactory { + + public Slf4jLoggerFactory() { + LoggerFactory.getILoggerFactory(); + doRegister(); + } + + @Override + protected String getLoggerType() { + return InternalLoggerFactory.LOGGER_SLF4J; + } + + @Override + protected InternalLogger getLoggerInstance(String name) { + return new Slf4jLogger(name); + } + + @Override + protected void shutdown() { + + } + + public static class Slf4jLogger implements InternalLogger { + private static final Pattern PATTERN = Pattern.compile("#.*#"); + + private final String loggerSuffix; + private final Logger defaultLogger; + + private final Map loggerMap = new HashMap<>(); + + public Slf4jLogger(String loggerSuffix) { + this.loggerSuffix = loggerSuffix; + this.defaultLogger = LoggerFactory.getLogger(loggerSuffix); + } + + private Logger getLogger() { + if (loggerSuffix.equals(ACCOUNT_LOGGER_NAME) + || loggerSuffix.equals(CONSUMER_STATS_LOGGER_NAME) + || loggerSuffix.equals(COMMERCIAL_LOGGER_NAME)) { + return defaultLogger; + } + String brokerIdentity = InnerLoggerFactory.BROKER_IDENTITY.get(); + if (brokerIdentity == null) { + Matcher m = PATTERN.matcher(Thread.currentThread().getName()); + if (m.find()) { + String match = m.group(); + brokerIdentity = match.substring(1, match.length() - 1); + } + } + if (InnerLoggerFactory.BROKER_CONTAINER_NAME.equals(brokerIdentity)) { + return defaultLogger; + } + if (brokerIdentity != null) { + if (!loggerMap.containsKey(brokerIdentity)) { + loggerMap.put(brokerIdentity, LoggerFactory.getLogger("#" + brokerIdentity + "#" + loggerSuffix)); + } + return loggerMap.get(brokerIdentity); + } + return defaultLogger; + } + + @Override + public String getName() { + return getLogger().getName(); + } + + @Override + public void debug(String s) { + getLogger().debug(s); + } + + @Override + public void debug(String s, Object o) { + getLogger().debug(s, o); + } + + @Override + public void debug(String s, Object o, Object o1) { + getLogger().debug(s, o, o1); + } + + @Override + public void debug(String s, Object... objects) { + getLogger().debug(s, objects); + } + + @Override + public void debug(String s, Throwable throwable) { + getLogger().debug(s, throwable); + } + + @Override + public void info(String s) { + getLogger().info(s); + } + + @Override + public void info(String s, Object o) { + getLogger().info(s, o); + } + + @Override + public void info(String s, Object o, Object o1) { + getLogger().info(s, o, o1); + } + + @Override + public void info(String s, Object... objects) { + getLogger().info(s, objects); + } + + @Override + public void info(String s, Throwable throwable) { + getLogger().info(s, throwable); + } + + @Override + public void warn(String s) { + getLogger().warn(s); + } + + @Override + public void warn(String s, Object o) { + getLogger().warn(s, o); + } + + @Override + public void warn(String s, Object... objects) { + getLogger().warn(s, objects); + } + + @Override + public void warn(String s, Object o, Object o1) { + getLogger().warn(s, o, o1); + } + + @Override + public void warn(String s, Throwable throwable) { + getLogger().warn(s, throwable); + } + + @Override + public void error(String s) { + getLogger().error(s); + } + + @Override + public void error(String s, Object o) { + getLogger().error(s, o); + } + + @Override + public void error(String s, Object o, Object o1) { + getLogger().error(s, o, o1); + } + + @Override + public void error(String s, Object... objects) { + getLogger().error(s, objects); + } + + @Override + public void error(String s, Throwable throwable) { + getLogger().error(s, throwable); + } + } +} diff --git a/logging/src/main/java/org/apache/rocketmq/logging/inner/Appender.java b/logging/src/main/java/org/apache/rocketmq/logging/inner/Appender.java new file mode 100755 index 0000000000..d40d6cb313 --- /dev/null +++ b/logging/src/main/java/org/apache/rocketmq/logging/inner/Appender.java @@ -0,0 +1,228 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.logging.inner; + + +import java.io.InterruptedIOException; +import java.util.Enumeration; +import java.util.Vector; + +public abstract class Appender { + + public static final int CODE_WRITE_FAILURE = 1; + public static final int CODE_FLUSH_FAILURE = 2; + public static final int CODE_CLOSE_FAILURE = 3; + public static final int CODE_FILE_OPEN_FAILURE = 4; + + public final static String LINE_SEP = System.getProperty("line.separator"); + + boolean firstTime = true; + + protected Layout layout; + + protected String name; + + protected boolean closed = false; + + public void activateOptions() { + } + + abstract protected void append(LoggingEvent event); + + public void finalize() { + try { + super.finalize(); + } catch (Throwable throwable) { + SysLogger.error("Finalizing appender named [" + name + "]. error", throwable); + } + if (this.closed) { + return; + } + + SysLogger.debug("Finalizing appender named [" + name + "]."); + close(); + } + + public Layout getLayout() { + return layout; + } + + public final String getName() { + return this.name; + } + + public synchronized void doAppend(LoggingEvent event) { + if (closed) { + SysLogger.error("Attempted to append to closed appender named [" + name + "]."); + return; + } + this.append(event); + } + + public void setLayout(Layout layout) { + this.layout = layout; + } + + public void setName(String name) { + this.name = name; + } + + public abstract void close(); + + public void handleError(String message, Exception e, int errorCode) { + if (e instanceof InterruptedIOException || e instanceof InterruptedException) { + Thread.currentThread().interrupt(); + } + if (firstTime) { + SysLogger.error(message + " code:" + errorCode, e); + firstTime = false; + } + } + + public void handleError(String message) { + if (firstTime) { + SysLogger.error(message); + firstTime = false; + } + } + + + public interface AppenderPipeline { + + void addAppender(Appender newAppender); + + Enumeration getAllAppenders(); + + Appender getAppender(String name); + + boolean isAttached(Appender appender); + + void removeAllAppenders(); + + void removeAppender(Appender appender); + + void removeAppender(String name); + } + + + public static class AppenderPipelineImpl implements AppenderPipeline { + + + protected Vector appenderList; + + public void addAppender(Appender newAppender) { + if (newAppender == null) { + return; + } + + if (appenderList == null) { + appenderList = new Vector<>(1); + } + if (!appenderList.contains(newAppender)) { + appenderList.addElement(newAppender); + } + } + + public int appendLoopOnAppenders(LoggingEvent event) { + int size = 0; + Appender appender; + + if (appenderList != null) { + size = appenderList.size(); + for (int i = 0; i < size; i++) { + appender = appenderList.elementAt(i); + appender.doAppend(event); + } + } + return size; + } + + public Enumeration getAllAppenders() { + if (appenderList == null) { + return null; + } else { + return appenderList.elements(); + } + } + + public Appender getAppender(String name) { + if (appenderList == null || name == null) { + return null; + } + + int size = appenderList.size(); + Appender appender; + for (int i = 0; i < size; i++) { + appender = appenderList.elementAt(i); + if (name.equals(appender.getName())) { + return appender; + } + } + return null; + } + + public boolean isAttached(Appender appender) { + if (appenderList == null || appender == null) { + return false; + } + + int size = appenderList.size(); + Appender a; + for (int i = 0; i < size; i++) { + a = appenderList.elementAt(i); + if (a == appender) { + return true; + } + } + return false; + } + + public void removeAllAppenders() { + if (appenderList != null) { + int len = appenderList.size(); + for (int i = 0; i < len; i++) { + Appender a = appenderList.elementAt(i); + a.close(); + } + appenderList.removeAllElements(); + appenderList = null; + } + } + + public void removeAppender(Appender appender) { + if (appender == null || appenderList == null) { + return; + } + appenderList.removeElement(appender); + } + + public void removeAppender(String name) { + if (name == null || appenderList == null) { + return; + } + int size = appenderList.size(); + for (int i = 0; i < size; i++) { + if (name.equals((appenderList.elementAt(i)).getName())) { + appenderList.removeElementAt(i); + break; + } + } + } + + } +} diff --git a/logging/src/main/java/org/apache/rocketmq/logging/inner/Layout.java b/logging/src/main/java/org/apache/rocketmq/logging/inner/Layout.java new file mode 100644 index 0000000000..7ea3561df3 --- /dev/null +++ b/logging/src/main/java/org/apache/rocketmq/logging/inner/Layout.java @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.logging.inner; + +public abstract class Layout { + + public abstract String format(LoggingEvent event); + + public String getContentType() { + return "text/plain"; + } + + public String getHeader() { + return null; + } + + public String getFooter() { + return null; + } + + + abstract public boolean ignoresThrowable(); + +} \ No newline at end of file diff --git a/logging/src/main/java/org/apache/rocketmq/logging/inner/Level.java b/logging/src/main/java/org/apache/rocketmq/logging/inner/Level.java new file mode 100755 index 0000000000..d647adb6b6 --- /dev/null +++ b/logging/src/main/java/org/apache/rocketmq/logging/inner/Level.java @@ -0,0 +1,152 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.logging.inner; + +import java.io.Serializable; + +public class Level implements Serializable { + + transient int level; + transient String levelStr; + transient int syslogEquivalent; + + public final static int OFF_INT = Integer.MAX_VALUE; + public final static int ERROR_INT = 40000; + public final static int WARN_INT = 30000; + public final static int INFO_INT = 20000; + public final static int DEBUG_INT = 10000; + public final static int ALL_INT = Integer.MIN_VALUE; + + + private static final String ALL_NAME = "ALL"; + + private static final String DEBUG_NAME = "DEBUG"; + + private static final String INFO_NAME = "INFO"; + + private static final String WARN_NAME = "WARN"; + + private static final String ERROR_NAME = "ERROR"; + + private static final String OFF_NAME = "OFF"; + + final static public Level OFF = new Level(OFF_INT, OFF_NAME, 0); + + final static public Level ERROR = new Level(ERROR_INT, ERROR_NAME, 3); + + final static public Level WARN = new Level(WARN_INT, WARN_NAME, 4); + + final static public Level INFO = new Level(INFO_INT, INFO_NAME, 6); + + final static public Level DEBUG = new Level(DEBUG_INT, DEBUG_NAME, 7); + + final static public Level ALL = new Level(ALL_INT, ALL_NAME, 7); + + static final long serialVersionUID = 3491141966387921974L; + + protected Level(int level, String levelStr, int syslogEquivalent) { + this.level = level; + this.levelStr = levelStr; + this.syslogEquivalent = syslogEquivalent; + } + + public static Level toLevel(String sArg) { + return toLevel(sArg, Level.DEBUG); + } + + public static Level toLevel(int val) { + return toLevel(val, Level.DEBUG); + } + + public static Level toLevel(int val, Level defaultLevel) { + switch (val) { + case ALL_INT: + return ALL; + case DEBUG_INT: + return Level.DEBUG; + case INFO_INT: + return Level.INFO; + case WARN_INT: + return Level.WARN; + case ERROR_INT: + return Level.ERROR; + case OFF_INT: + return OFF; + default: + return defaultLevel; + } + } + + public static Level toLevel(String sArg, Level defaultLevel) { + if (sArg == null) { + return defaultLevel; + } + String s = sArg.toUpperCase(); + + if (s.equals(ALL_NAME)) { + return Level.ALL; + } + if (s.equals(DEBUG_NAME)) { + return Level.DEBUG; + } + if (s.equals(INFO_NAME)) { + return Level.INFO; + } + if (s.equals(WARN_NAME)) { + return Level.WARN; + } + if (s.equals(ERROR_NAME)) { + return Level.ERROR; + } + if (s.equals(OFF_NAME)) { + return Level.OFF; + } + return defaultLevel; + } + + + public boolean equals(Object o) { + if (o instanceof Level) { + Level r = (Level) o; + return this.level == r.level; + } else { + return false; + } + } + + @Override + public int hashCode() { + int result = level; + result = 31 * result + (levelStr != null ? levelStr.hashCode() : 0); + result = 31 * result + syslogEquivalent; + return result; + } + + public boolean isGreaterOrEqual(Level r) { + return level >= r.level; + } + + final public String toString() { + return levelStr; + } + + public final int toInt() { + return level; + } + +} diff --git a/logging/src/main/java/org/apache/rocketmq/logging/inner/Logger.java b/logging/src/main/java/org/apache/rocketmq/logging/inner/Logger.java new file mode 100755 index 0000000000..7584ea3172 --- /dev/null +++ b/logging/src/main/java/org/apache/rocketmq/logging/inner/Logger.java @@ -0,0 +1,467 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.logging.inner; + +import java.util.Enumeration; +import java.util.Hashtable; +import java.util.Vector; + + +public class Logger implements Appender.AppenderPipeline { + + private static final String FQCN = Logger.class.getName(); + + private static final DefaultLoggerRepository REPOSITORY = new DefaultLoggerRepository(new RootLogger(Level.DEBUG)); + + public static LoggerRepository getRepository() { + return REPOSITORY; + } + + private String name; + + volatile private Level level; + + volatile private Logger parent; + + Appender.AppenderPipelineImpl appenderPipeline; + + private boolean additive = true; + + private Logger(String name) { + this.name = name; + } + + static public Logger getLogger(String name) { + return getRepository().getLogger(name); + } + + static public Logger getLogger(Class clazz) { + return getRepository().getLogger(clazz.getName()); + } + + public static Logger getRootLogger() { + return getRepository().getRootLogger(); + } + + synchronized public void addAppender(Appender newAppender) { + if (appenderPipeline == null) { + appenderPipeline = new Appender.AppenderPipelineImpl(); + } + appenderPipeline.addAppender(newAppender); + } + + public void callAppenders(LoggingEvent event) { + int writes = 0; + + for (Logger logger = this; logger != null; logger = logger.parent) { + synchronized (logger) { + if (logger.appenderPipeline != null) { + writes += logger.appenderPipeline.appendLoopOnAppenders(event); + } + if (!logger.additive) { + break; + } + } + } + + if (writes == 0) { + getRepository().emitNoAppenderWarning(this); + } + } + + synchronized void closeNestedAppenders() { + Enumeration enumeration = this.getAllAppenders(); + if (enumeration != null) { + while (enumeration.hasMoreElements()) { + Appender a = (Appender) enumeration.nextElement(); + if (a instanceof Appender.AppenderPipeline) { + a.close(); + } + } + } + } + + public void debug(Object message) { + if (getRepository().isDisabled(Level.DEBUG_INT)) { + return; + } + if (Level.DEBUG.isGreaterOrEqual(this.getEffectiveLevel())) { + forcedLog(FQCN, Level.DEBUG, message, null); + } + } + + + public void debug(Object message, Throwable t) { + if (getRepository().isDisabled(Level.DEBUG_INT)) { + return; + } + if (Level.DEBUG.isGreaterOrEqual(this.getEffectiveLevel())) { + forcedLog(FQCN, Level.DEBUG, message, t); + } + } + + + public void error(Object message) { + if (getRepository().isDisabled(Level.ERROR_INT)) { + return; + } + if (Level.ERROR.isGreaterOrEqual(this.getEffectiveLevel())) { + forcedLog(FQCN, Level.ERROR, message, null); + } + } + + public void error(Object message, Throwable t) { + if (getRepository().isDisabled(Level.ERROR_INT)) { + return; + } + if (Level.ERROR.isGreaterOrEqual(this.getEffectiveLevel())) { + forcedLog(FQCN, Level.ERROR, message, t); + } + + } + + + protected void forcedLog(String fqcn, Level level, Object message, Throwable t) { + callAppenders(new LoggingEvent(fqcn, this, level, message, t)); + } + + + synchronized public Enumeration getAllAppenders() { + if (appenderPipeline == null) { + return null; + } else { + return appenderPipeline.getAllAppenders(); + } + } + + synchronized public Appender getAppender(String name) { + if (appenderPipeline == null || name == null) { + return null; + } + + return appenderPipeline.getAppender(name); + } + + public Level getEffectiveLevel() { + for (Logger c = this; c != null; c = c.parent) { + if (c.level != null) { + return c.level; + } + } + return null; + } + + public final String getName() { + return name; + } + + final public Level getLevel() { + return this.level; + } + + + public void info(Object message) { + if (getRepository().isDisabled(Level.INFO_INT)) { + return; + } + if (Level.INFO.isGreaterOrEqual(this.getEffectiveLevel())) { + forcedLog(FQCN, Level.INFO, message, null); + } + } + + public void info(Object message, Throwable t) { + if (getRepository().isDisabled(Level.INFO_INT)) { + return; + } + if (Level.INFO.isGreaterOrEqual(this.getEffectiveLevel())) { + forcedLog(FQCN, Level.INFO, message, t); + } + } + + public boolean isAttached(Appender appender) { + return appender != null && appenderPipeline != null && appenderPipeline.isAttached(appender); + } + + synchronized public void removeAllAppenders() { + if (appenderPipeline != null) { + appenderPipeline.removeAllAppenders(); + appenderPipeline = null; + } + } + + synchronized public void removeAppender(Appender appender) { + if (appender == null || appenderPipeline == null) { + return; + } + appenderPipeline.removeAppender(appender); + } + + synchronized public void removeAppender(String name) { + if (name == null || appenderPipeline == null) { + return; + } + appenderPipeline.removeAppender(name); + } + + public void setAdditivity(boolean additive) { + this.additive = additive; + } + + public void setLevel(Level level) { + this.level = level; + } + + public void warn(Object message) { + if (getRepository().isDisabled(Level.WARN_INT)) { + return; + } + + if (Level.WARN.isGreaterOrEqual(this.getEffectiveLevel())) { + forcedLog(FQCN, Level.WARN, message, null); + } + } + + public void warn(Object message, Throwable t) { + if (getRepository().isDisabled(Level.WARN_INT)) { + return; + } + if (Level.WARN.isGreaterOrEqual(this.getEffectiveLevel())) { + forcedLog(FQCN, Level.WARN, message, t); + } + } + + public interface LoggerRepository { + + boolean isDisabled(int level); + + void setLogLevel(Level level); + + void emitNoAppenderWarning(Logger cat); + + Level getLogLevel(); + + Logger getLogger(String name); + + Logger getRootLogger(); + + Logger exists(String name); + + void shutdown(); + + Enumeration getCurrentLoggers(); + } + + public static class ProvisionNode extends Vector { + + ProvisionNode(Logger logger) { + super(); + addElement(logger); + } + } + + public static class DefaultLoggerRepository implements LoggerRepository { + + final Hashtable ht = new Hashtable<>(); + Logger root; + + int logLevelInt; + Level logLevel; + + boolean emittedNoAppenderWarning = false; + + public DefaultLoggerRepository(Logger root) { + this.root = root; + setLogLevel(Level.ALL); + } + + public void emitNoAppenderWarning(Logger cat) { + if (!this.emittedNoAppenderWarning) { + SysLogger.warn("No appenders could be found for logger (" + cat.getName() + ")."); + SysLogger.warn("Please initialize the logger system properly."); + this.emittedNoAppenderWarning = true; + } + } + + public Logger exists(String name) { + Object o = ht.get(new CategoryKey(name)); + if (o instanceof Logger) { + return (Logger) o; + } else { + return null; + } + } + + public void setLogLevel(Level l) { + if (l != null) { + logLevelInt = l.level; + logLevel = l; + } + } + + public Level getLogLevel() { + return logLevel; + } + + + public Logger getLogger(String name) { + CategoryKey key = new CategoryKey(name); + Logger logger; + + synchronized (ht) { + Object o = ht.get(key); + if (o == null) { + logger = makeNewLoggerInstance(name); + ht.put(key, logger); + updateParents(logger); + return logger; + } else if (o instanceof Logger) { + return (Logger) o; + } else if (o instanceof ProvisionNode) { + logger = makeNewLoggerInstance(name); + ht.put(key, logger); + updateChildren((ProvisionNode) o, logger); + updateParents(logger); + return logger; + } else { + return null; + } + } + } + + public Logger makeNewLoggerInstance(String name) { + return new Logger(name); + } + + public Enumeration getCurrentLoggers() { + Vector loggers = new Vector<>(ht.size()); + + Enumeration elems = ht.elements(); + while (elems.hasMoreElements()) { + Object o = elems.nextElement(); + if (o instanceof Logger) { + Logger logger = (Logger)o; + loggers.addElement(logger); + } + } + return loggers.elements(); + } + + + public Logger getRootLogger() { + return root; + } + + public boolean isDisabled(int level) { + return logLevelInt > level; + } + + + public void shutdown() { + Logger root = getRootLogger(); + root.closeNestedAppenders(); + + synchronized (ht) { + Enumeration cats = this.getCurrentLoggers(); + while (cats.hasMoreElements()) { + Logger c = (Logger) cats.nextElement(); + c.closeNestedAppenders(); + } + root.removeAllAppenders(); + } + } + + + private void updateParents(Logger cat) { + String name = cat.name; + int length = name.length(); + boolean parentFound = false; + + for (int i = name.lastIndexOf('.', length - 1); i >= 0; + i = name.lastIndexOf('.', i - 1)) { + String substr = name.substring(0, i); + + CategoryKey key = new CategoryKey(substr); + Object o = ht.get(key); + if (o == null) { + ht.put(key, new ProvisionNode(cat)); + } else if (o instanceof Logger) { + parentFound = true; + cat.parent = (Logger) o; + break; + } else if (o instanceof ProvisionNode) { + ((ProvisionNode) o).addElement(cat); + } else { + Exception e = new IllegalStateException("unexpected object type " + o.getClass() + " in ht."); + e.printStackTrace(); + } + } + if (!parentFound) { + cat.parent = root; + } + } + + private void updateChildren(ProvisionNode pn, Logger logger) { + final int last = pn.size(); + + for (int i = 0; i < last; i++) { + Logger l = pn.elementAt(i); + if (!l.parent.name.startsWith(logger.name)) { + logger.parent = l.parent; + l.parent = logger; + } + } + } + + private class CategoryKey { + + String name; + int hashCache; + + CategoryKey(String name) { + this.name = name; + hashCache = name.hashCode(); + } + + final public int hashCode() { + return hashCache; + } + + final public boolean equals(Object o) { + if (this == o) { + return true; + } + + if (o != null && o instanceof CategoryKey) { + CategoryKey cc = (CategoryKey) o; + return name.equals(cc.name); + } else { + return false; + } + } + } + + } + + public static class RootLogger extends Logger { + + public RootLogger(Level level) { + super("root"); + setLevel(level); + } + } +} diff --git a/logging/src/main/java/org/apache/rocketmq/logging/inner/LoggingBuilder.java b/logging/src/main/java/org/apache/rocketmq/logging/inner/LoggingBuilder.java new file mode 100644 index 0000000000..ea669cfcfb --- /dev/null +++ b/logging/src/main/java/org/apache/rocketmq/logging/inner/LoggingBuilder.java @@ -0,0 +1,1231 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.logging.inner; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.FilterWriter; +import java.io.IOException; +import java.io.InterruptedIOException; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.Writer; +import java.nio.charset.StandardCharsets; +import java.text.MessageFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Collection; +import java.util.Date; +import java.util.Enumeration; +import java.util.GregorianCalendar; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.TimeZone; + +public class LoggingBuilder { + + public static final String SYSTEM_OUT = "System.out"; + public static final String SYSTEM_ERR = "System.err"; + + public static final String LOGGING_ENCODING = "rocketmq.logging.inner.encoding"; + public static final String ENCODING = System.getProperty(LOGGING_ENCODING, "UTF-8"); + + public static AppenderBuilder newAppenderBuilder() { + return new AppenderBuilder(); + } + + public static class AppenderBuilder { + private AsyncAppender asyncAppender; + + private Appender appender = null; + + private AppenderBuilder() { + + } + + public AppenderBuilder withLayout(Layout layout) { + appender.setLayout(layout); + return this; + } + + public AppenderBuilder withName(String name) { + appender.setName(name); + return this; + } + + public AppenderBuilder withConsoleAppender(String target) { + ConsoleAppender consoleAppender = new ConsoleAppender(); + consoleAppender.setTarget(target); + consoleAppender.activateOptions(); + this.appender = consoleAppender; + return this; + } + + public AppenderBuilder withFileAppender(String file) { + FileAppender appender = new FileAppender(); + appender.setFile(file); + appender.setAppend(true); + appender.setBufferedIO(false); + appender.setEncoding(ENCODING); + appender.setImmediateFlush(true); + appender.activateOptions(); + this.appender = appender; + return this; + } + + public AppenderBuilder withRollingFileAppender(String file, String maxFileSize, int maxFileIndex) { + RollingFileAppender appender = new RollingFileAppender(); + appender.setFile(file); + appender.setAppend(true); + appender.setBufferedIO(false); + appender.setEncoding(ENCODING); + appender.setImmediateFlush(true); + appender.setMaximumFileSize(Integer.parseInt(maxFileSize)); + appender.setMaxBackupIndex(maxFileIndex); + appender.activateOptions(); + this.appender = appender; + return this; + } + + public AppenderBuilder withDailyFileRollingAppender(String file, String datePattern) { + DailyRollingFileAppender appender = new DailyRollingFileAppender(); + appender.setFile(file); + appender.setAppend(true); + appender.setBufferedIO(false); + appender.setEncoding(ENCODING); + appender.setImmediateFlush(true); + appender.setDatePattern(datePattern); + appender.activateOptions(); + this.appender = appender; + return this; + } + + public AppenderBuilder withAsync(boolean blocking, int buffSize) { + AsyncAppender asyncAppender = new AsyncAppender(); + asyncAppender.setBlocking(blocking); + asyncAppender.setBufferSize(buffSize); + this.asyncAppender = asyncAppender; + return this; + } + + public Appender build() { + if (appender == null) { + throw new RuntimeException("please specify appender first"); + } + if (asyncAppender != null) { + asyncAppender.addAppender(appender); + return asyncAppender; + } else { + return appender; + } + } + } + + public static class AsyncAppender extends Appender implements Appender.AppenderPipeline { + + public static final int DEFAULT_BUFFER_SIZE = 128; + + private final List buffer = new ArrayList<>(); + + private final Map discardMap = new HashMap<>(); + + private int bufferSize = DEFAULT_BUFFER_SIZE; + + private final AppenderPipelineImpl appenderPipeline; + + private final Thread dispatcher; + + private boolean blocking = true; + + public AsyncAppender() { + appenderPipeline = new AppenderPipelineImpl(); + + dispatcher = new Thread(new Dispatcher(this, buffer, discardMap, appenderPipeline)); + + dispatcher.setDaemon(true); + + dispatcher.setName("AsyncAppender-Dispatcher-" + dispatcher.getName()); + dispatcher.start(); + } + + public void addAppender(final Appender newAppender) { + synchronized (appenderPipeline) { + appenderPipeline.addAppender(newAppender); + } + } + + public void append(final LoggingEvent event) { + if (dispatcher == null || !dispatcher.isAlive() || bufferSize <= 0) { + synchronized (appenderPipeline) { + appenderPipeline.appendLoopOnAppenders(event); + } + + return; + } + + event.getThreadName(); + event.getRenderedMessage(); + + synchronized (buffer) { + while (true) { + int previousSize = buffer.size(); + + if (previousSize < bufferSize) { + buffer.add(event); + + if (previousSize == 0) { + buffer.notifyAll(); + } + + break; + } + + boolean discard = true; + if (blocking + && !Thread.interrupted() + && Thread.currentThread() != dispatcher) { + try { + buffer.wait(); + discard = false; + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + } + if (discard) { + String loggerName = event.getLoggerName(); + DiscardSummary summary = discardMap.get(loggerName); + + if (summary == null) { + summary = new DiscardSummary(event); + discardMap.put(loggerName, summary); + } else { + summary.add(event); + } + + break; + } + } + } + } + + public void close() { + + synchronized (buffer) { + closed = true; + buffer.notifyAll(); + } + + try { + dispatcher.join(); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + SysLogger.error( + "Got an InterruptedException while waiting for the " + + "dispatcher to finish.", e); + } + + synchronized (appenderPipeline) { + Enumeration iter = appenderPipeline.getAllAppenders(); + if (iter != null) { + while (iter.hasMoreElements()) { + Object next = iter.nextElement(); + if (next instanceof Appender) { + ((Appender) next).close(); + } + } + } + } + } + + public Enumeration getAllAppenders() { + synchronized (appenderPipeline) { + return appenderPipeline.getAllAppenders(); + } + } + + public Appender getAppender(final String name) { + synchronized (appenderPipeline) { + return appenderPipeline.getAppender(name); + } + } + + public boolean isAttached(final Appender appender) { + synchronized (appenderPipeline) { + return appenderPipeline.isAttached(appender); + } + } + + public void removeAllAppenders() { + synchronized (appenderPipeline) { + appenderPipeline.removeAllAppenders(); + } + } + + public void removeAppender(final Appender appender) { + synchronized (appenderPipeline) { + appenderPipeline.removeAppender(appender); + } + } + + public void removeAppender(final String name) { + synchronized (appenderPipeline) { + appenderPipeline.removeAppender(name); + } + } + + public void setBufferSize(final int size) { + if (size < 0) { + throw new NegativeArraySizeException("size"); + } + + synchronized (buffer) { + bufferSize = (size < 1) ? 1 : size; + buffer.notifyAll(); + } + } + + public int getBufferSize() { + return bufferSize; + } + + public void setBlocking(final boolean value) { + synchronized (buffer) { + blocking = value; + buffer.notifyAll(); + } + } + + public boolean getBlocking() { + return blocking; + } + + private final class DiscardSummary { + + private LoggingEvent maxEvent; + + private int count; + + public DiscardSummary(final LoggingEvent event) { + maxEvent = event; + count = 1; + } + + public void add(final LoggingEvent event) { + if (event.getLevel().toInt() > maxEvent.getLevel().toInt()) { + maxEvent = event; + } + count++; + } + + public LoggingEvent createEvent() { + String msg = + MessageFormat.format( + "Discarded {0} messages due to full event buffer including: {1}", + count, maxEvent.getMessage()); + + return new LoggingEvent( + "AsyncAppender.DONT_REPORT_LOCATION", + Logger.getLogger(maxEvent.getLoggerName()), + maxEvent.getLevel(), + msg, + null); + } + } + + private class Dispatcher implements Runnable { + + private final AsyncAppender parent; + + private final List buffer; + + private final Map discardMap; + + private final AppenderPipelineImpl appenderPipeline; + + public Dispatcher( + final AsyncAppender parent, final List buffer, final Map discardMap, + final AppenderPipelineImpl appenderPipeline) { + + this.parent = parent; + this.buffer = buffer; + this.appenderPipeline = appenderPipeline; + this.discardMap = discardMap; + } + + public void run() { + boolean isActive = true; + + try { + while (isActive) { + LoggingEvent[] events = null; + + synchronized (buffer) { + int bufferSize = buffer.size(); + isActive = !parent.closed; + + while (bufferSize == 0 && isActive) { + buffer.wait(); + bufferSize = buffer.size(); + isActive = !parent.closed; + } + + if (bufferSize > 0) { + events = new LoggingEvent[bufferSize + discardMap.size()]; + buffer.toArray(events); + + int index = bufferSize; + Collection values = discardMap.values(); + for (DiscardSummary value : values) { + events[index++] = value.createEvent(); + } + + buffer.clear(); + discardMap.clear(); + + buffer.notifyAll(); + } + } + if (events != null) { + for (LoggingEvent event : events) { + synchronized (appenderPipeline) { + appenderPipeline.appendLoopOnAppenders(event); + } + } + } + } + } catch (InterruptedException ex) { + Thread.currentThread().interrupt(); + } + } + } + } + + private static class QuietWriter extends FilterWriter { + + protected Appender appender; + + public QuietWriter(Writer writer, Appender appender) { + super(writer); + this.appender = appender; + } + + public void write(String string) { + if (string != null) { + try { + out.write(string); + } catch (Exception e) { + appender.handleError("Failed to write [" + string + "].", e, + Appender.CODE_WRITE_FAILURE); + } + } + } + + public void flush() { + try { + out.flush(); + } catch (Exception e) { + appender.handleError("Failed to flush writer,", e, + Appender.CODE_FLUSH_FAILURE); + } + } + } + + public static class WriterAppender extends Appender { + + + protected boolean immediateFlush = true; + + protected String encoding; + + + protected QuietWriter qw; + + public WriterAppender() { + + } + + public void setImmediateFlush(boolean value) { + immediateFlush = value; + } + + + public boolean getImmediateFlush() { + return immediateFlush; + } + + public void activateOptions() { + } + + + public void append(LoggingEvent event) { + if (!checkEntryConditions()) { + return; + } + subAppend(event); + } + + protected boolean checkEntryConditions() { + if (this.closed) { + SysLogger.warn("Not allowed to write to a closed appender."); + return false; + } + + if (this.qw == null) { + handleError("No output stream or file set for the appender named [" + + name + "]."); + return false; + } + + if (this.layout == null) { + handleError("No layout set for the appender named [" + name + "]."); + return false; + } + return true; + } + + public synchronized void close() { + if (this.closed) { + return; + } + this.closed = true; + writeFooter(); + reset(); + } + + protected void closeWriter() { + if (qw != null) { + try { + qw.close(); + } catch (IOException e) { + handleError("Could not close " + qw, e, CODE_CLOSE_FAILURE); + } + } + } + + protected OutputStreamWriter createWriter(OutputStream os) { + OutputStreamWriter retval = null; + + String enc = getEncoding(); + if (enc != null) { + try { + retval = new OutputStreamWriter(os, enc); + } catch (IOException e) { + SysLogger.warn("Error initializing output writer."); + SysLogger.warn("Unsupported encoding?"); + } + } + if (retval == null) { + retval = new OutputStreamWriter(os, StandardCharsets.UTF_8); + } + return retval; + } + + public String getEncoding() { + return encoding; + } + + public void setEncoding(String value) { + encoding = value; + } + + + public synchronized void setWriter(Writer writer) { + reset(); + this.qw = new QuietWriter(writer, this); + writeHeader(); + } + + protected void subAppend(LoggingEvent event) { + this.qw.write(this.layout.format(event)); + + if (layout.ignoresThrowable()) { + String[] s = event.getThrowableStr(); + if (s != null) { + for (String s1 : s) { + this.qw.write(s1); + this.qw.write(LINE_SEP); + } + } + } + + if (shouldFlush(event)) { + this.qw.flush(); + } + } + + protected void reset() { + closeWriter(); + this.qw = null; + } + + protected void writeFooter() { + if (layout != null) { + String f = layout.getFooter(); + if (f != null && this.qw != null) { + this.qw.write(f); + this.qw.flush(); + } + } + } + + protected void writeHeader() { + if (layout != null) { + String h = layout.getHeader(); + if (h != null && this.qw != null) { + this.qw.write(h); + } + } + } + + protected boolean shouldFlush(final LoggingEvent event) { + return event != null && immediateFlush; + } + } + + + public static class FileAppender extends WriterAppender { + + protected boolean fileAppend = true; + + protected String fileName = null; + + protected boolean bufferedIO = false; + + protected int bufferSize = 8 * 1024; + + public FileAppender() { + } + + public FileAppender(Layout layout, String filename, boolean append) + throws IOException { + this.layout = layout; + this.setFile(filename, append, false, bufferSize); + } + + public void setFile(String file) { + fileName = file.trim(); + } + + public boolean getAppend() { + return fileAppend; + } + + public String getFile() { + return fileName; + } + + public void activateOptions() { + if (fileName != null) { + try { + setFile(fileName, fileAppend, bufferedIO, bufferSize); + } catch (IOException e) { + handleError("setFile(" + fileName + "," + fileAppend + ") call failed.", + e, CODE_FILE_OPEN_FAILURE); + } + } else { + SysLogger.warn("File option not set for appender [" + name + "]."); + SysLogger.warn("Are you using FileAppender instead of ConsoleAppender?"); + } + } + + protected void closeFile() { + if (this.qw != null) { + try { + this.qw.close(); + } catch (IOException e) { + if (e instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + SysLogger.error("Could not close " + qw, e); + } + } + } + + public boolean getBufferedIO() { + return this.bufferedIO; + } + + public int getBufferSize() { + return this.bufferSize; + } + + public void setAppend(boolean flag) { + fileAppend = flag; + } + + public void setBufferedIO(boolean bufferedIO) { + this.bufferedIO = bufferedIO; + if (bufferedIO) { + immediateFlush = false; + } + } + + public void setBufferSize(int bufferSize) { + this.bufferSize = bufferSize; + } + + public synchronized void setFile(String fileName, boolean append, boolean bufferedIO, int bufferSize) + throws IOException { + SysLogger.debug("setFile called: " + fileName + ", " + append); + + if (bufferedIO) { + setImmediateFlush(false); + } + + reset(); + FileOutputStream ostream; + try { + ostream = new FileOutputStream(fileName, append); + } catch (FileNotFoundException ex) { + String parentName = new File(fileName).getParent(); + if (parentName != null) { + File parentDir = new File(parentName); + if (!parentDir.exists() && parentDir.mkdirs()) { + ostream = new FileOutputStream(fileName, append); + } else { + throw ex; + } + } else { + throw ex; + } + } + Writer fw = createWriter(ostream); + if (bufferedIO) { + fw = new BufferedWriter(fw, bufferSize); + } + this.setQWForFiles(fw); + this.fileName = fileName; + this.fileAppend = append; + this.bufferedIO = bufferedIO; + this.bufferSize = bufferSize; + writeHeader(); + SysLogger.debug("setFile ended"); + } + + protected void setQWForFiles(Writer writer) { + this.qw = new QuietWriter(writer, this); + } + + protected void reset() { + closeFile(); + this.fileName = null; + super.reset(); + } + } + + + public static class RollingFileAppender extends FileAppender { + + protected long maxFileSize = 10 * 1024 * 1024; + + protected int maxBackupIndex = 1; + + private long nextRollover = 0; + + public RollingFileAppender() { + super(); + } + + public int getMaxBackupIndex() { + return maxBackupIndex; + } + + public long getMaximumFileSize() { + return maxFileSize; + } + + public void rollOver() { + File target; + File file; + + if (qw != null) { + long size = ((CountingQuietWriter) qw).getCount(); + SysLogger.debug("rolling over count=" + size); + nextRollover = size + maxFileSize; + } + SysLogger.debug("maxBackupIndex=" + maxBackupIndex); + + boolean renameSucceeded = true; + if (maxBackupIndex > 0) { + file = new File(fileName + '.' + maxBackupIndex); + if (file.exists()) { + renameSucceeded = file.delete(); + } + + for (int i = maxBackupIndex - 1; i >= 1 && renameSucceeded; i--) { + file = new File(fileName + "." + i); + if (file.exists()) { + target = new File(fileName + '.' + (i + 1)); + SysLogger.debug("Renaming file " + file + " to " + target); + renameSucceeded = file.renameTo(target); + } + } + + if (renameSucceeded) { + target = new File(fileName + "." + 1); + + this.closeFile(); // keep windows happy. + + file = new File(fileName); + SysLogger.debug("Renaming file " + file + " to " + target); + renameSucceeded = file.renameTo(target); + + if (!renameSucceeded) { + try { + this.setFile(fileName, true, bufferedIO, bufferSize); + } catch (IOException e) { + if (e instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + SysLogger.error("setFile(" + fileName + ", true) call failed.", e); + } + } + } + } + + if (renameSucceeded) { + try { + this.setFile(fileName, false, bufferedIO, bufferSize); + nextRollover = 0; + } catch (IOException e) { + if (e instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + SysLogger.error("setFile(" + fileName + ", false) call failed.", e); + } + } + } + + public synchronized void setFile(String fileName, boolean append, boolean bufferedIO, int bufferSize) + throws IOException { + super.setFile(fileName, append, this.bufferedIO, this.bufferSize); + if (append) { + File f = new File(fileName); + ((CountingQuietWriter) qw).setCount(f.length()); + } + } + + public void setMaxBackupIndex(int maxBackups) { + this.maxBackupIndex = maxBackups; + } + + public void setMaximumFileSize(long maxFileSize) { + this.maxFileSize = maxFileSize; + } + + protected void setQWForFiles(Writer writer) { + this.qw = new CountingQuietWriter(writer, this); + } + + protected void subAppend(LoggingEvent event) { + super.subAppend(event); + if (fileName != null && qw != null) { + long size = ((CountingQuietWriter) qw).getCount(); + if (size >= maxFileSize && size >= nextRollover) { + rollOver(); + } + } + } + + protected class CountingQuietWriter extends QuietWriter { + + protected long count; + + public CountingQuietWriter(Writer writer, Appender appender) { + super(writer, appender); + } + + public void write(String string) { + try { + out.write(string); + count += string.length(); + } catch (IOException e) { + appender.handleError("Write failure.", e, Appender.CODE_WRITE_FAILURE); + } + } + + public long getCount() { + return count; + } + + public void setCount(long count) { + this.count = count; + } + + } + } + + + public static class DailyRollingFileAppender extends FileAppender { + + static final int TOP_OF_TROUBLE = -1; + static final int TOP_OF_MINUTE = 0; + static final int TOP_OF_HOUR = 1; + static final int HALF_DAY = 2; + static final int TOP_OF_DAY = 3; + static final int TOP_OF_WEEK = 4; + static final int TOP_OF_MONTH = 5; + + + /** + * The date pattern. By default, the pattern is set to + * "'.'yyyy-MM-dd" meaning daily rollover. + */ + private String datePattern = "'.'yyyy-MM-dd"; + + private String scheduledFilename; + + private long nextCheck = System.currentTimeMillis() - 1; + + Date now = new Date(); + + SimpleDateFormat sdf; + + RollingCalendar rc = new RollingCalendar(); + + final TimeZone gmtTimeZone = TimeZone.getTimeZone("GMT"); + + + public void setDatePattern(String pattern) { + datePattern = pattern; + } + + public String getDatePattern() { + return datePattern; + } + + public void activateOptions() { + super.activateOptions(); + if (datePattern != null && fileName != null) { + now.setTime(System.currentTimeMillis()); + sdf = new SimpleDateFormat(datePattern); + int type = computeCheckPeriod(); + printPeriodicity(type); + rc.setType(type); + File file = new File(fileName); + scheduledFilename = fileName + sdf.format(new Date(file.lastModified())); + + } else { + SysLogger.error("Either File or DatePattern options are not set for appender [" + name + "]."); + } + } + + void printPeriodicity(int type) { + switch (type) { + case TOP_OF_MINUTE: + SysLogger.debug("Appender [" + name + "] to be rolled every minute."); + break; + case TOP_OF_HOUR: + SysLogger.debug("Appender [" + name + "] to be rolled on top of every hour."); + break; + case HALF_DAY: + SysLogger.debug("Appender [" + name + "] to be rolled at midday and midnight."); + break; + case TOP_OF_DAY: + SysLogger.debug("Appender [" + name + "] to be rolled at midnight."); + break; + case TOP_OF_WEEK: + SysLogger.debug("Appender [" + name + "] to be rolled at start of week."); + break; + case TOP_OF_MONTH: + SysLogger.debug("Appender [" + name + "] to be rolled at start of every month."); + break; + default: + SysLogger.warn("Unknown periodicity for appender [" + name + "]."); + } + } + + int computeCheckPeriod() { + RollingCalendar rollingCalendar = new RollingCalendar(gmtTimeZone, Locale.getDefault()); + // set sate to 1970-01-01 00:00:00 GMT + Date epoch = new Date(0); + if (datePattern != null) { + for (int i = TOP_OF_MINUTE; i <= TOP_OF_MONTH; i++) { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat(datePattern); + simpleDateFormat.setTimeZone(gmtTimeZone); + String r0 = simpleDateFormat.format(epoch); + rollingCalendar.setType(i); + Date next = new Date(rollingCalendar.getNextCheckMillis(epoch)); + String r1 = simpleDateFormat.format(next); + if (r0 != null && r1 != null && !r0.equals(r1)) { + return i; + } + } + } + return TOP_OF_TROUBLE; + } + + void rollOver() throws IOException { + + if (datePattern == null) { + handleError("Missing DatePattern option in rollOver()."); + return; + } + + String datedFilename = fileName + sdf.format(now); + + if (scheduledFilename.equals(datedFilename)) { + return; + } + this.closeFile(); + + File target = new File(scheduledFilename); + if (target.exists() && !target.delete()) { + SysLogger.error("Failed to delete [" + scheduledFilename + "]."); + } + + File file = new File(fileName); + boolean result = file.renameTo(target); + if (result) { + SysLogger.debug(fileName + " -> " + scheduledFilename); + } else { + SysLogger.error("Failed to rename [" + fileName + "] to [" + scheduledFilename + "]."); + } + + try { + this.setFile(fileName, true, this.bufferedIO, this.bufferSize); + } catch (IOException e) { + handleError("setFile(" + fileName + ", true) call failed."); + } + scheduledFilename = datedFilename; + } + + protected void subAppend(LoggingEvent event) { + long n = System.currentTimeMillis(); + if (n >= nextCheck) { + now.setTime(n); + nextCheck = rc.getNextCheckMillis(now); + try { + rollOver(); + } catch (IOException ioe) { + if (ioe instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + SysLogger.error("rollOver() failed.", ioe); + } + } + super.subAppend(event); + } + } + + private static class RollingCalendar extends GregorianCalendar { + private static final long serialVersionUID = -3560331770601814177L; + + int type = DailyRollingFileAppender.TOP_OF_TROUBLE; + + RollingCalendar() { + super(); + } + + RollingCalendar(TimeZone tz, Locale locale) { + super(tz, locale); + } + + void setType(int type) { + this.type = type; + } + + public long getNextCheckMillis(Date now) { + return getNextCheckDate(now).getTime(); + } + + public Date getNextCheckDate(Date now) { + this.setTime(now); + + switch (type) { + case DailyRollingFileAppender.TOP_OF_MINUTE: + this.set(Calendar.SECOND, 0); + this.set(Calendar.MILLISECOND, 0); + this.add(Calendar.MINUTE, 1); + break; + case DailyRollingFileAppender.TOP_OF_HOUR: + this.set(Calendar.MINUTE, 0); + this.set(Calendar.SECOND, 0); + this.set(Calendar.MILLISECOND, 0); + this.add(Calendar.HOUR_OF_DAY, 1); + break; + case DailyRollingFileAppender.HALF_DAY: + this.set(Calendar.MINUTE, 0); + this.set(Calendar.SECOND, 0); + this.set(Calendar.MILLISECOND, 0); + int hour = get(Calendar.HOUR_OF_DAY); + if (hour < 12) { + this.set(Calendar.HOUR_OF_DAY, 12); + } else { + this.set(Calendar.HOUR_OF_DAY, 0); + this.add(Calendar.DAY_OF_MONTH, 1); + } + break; + case DailyRollingFileAppender.TOP_OF_DAY: + this.set(Calendar.HOUR_OF_DAY, 0); + this.set(Calendar.MINUTE, 0); + this.set(Calendar.SECOND, 0); + this.set(Calendar.MILLISECOND, 0); + this.add(Calendar.DATE, 1); + break; + case DailyRollingFileAppender.TOP_OF_WEEK: + this.set(Calendar.DAY_OF_WEEK, getFirstDayOfWeek()); + this.set(Calendar.HOUR_OF_DAY, 0); + this.set(Calendar.MINUTE, 0); + this.set(Calendar.SECOND, 0); + this.set(Calendar.MILLISECOND, 0); + this.add(Calendar.WEEK_OF_YEAR, 1); + break; + case DailyRollingFileAppender.TOP_OF_MONTH: + this.set(Calendar.DATE, 1); + this.set(Calendar.HOUR_OF_DAY, 0); + this.set(Calendar.MINUTE, 0); + this.set(Calendar.SECOND, 0); + this.set(Calendar.MILLISECOND, 0); + this.add(Calendar.MONTH, 1); + break; + default: + throw new IllegalStateException("Unknown periodicity type."); + } + return getTime(); + } + } + + public static class ConsoleAppender extends WriterAppender { + + protected String target = SYSTEM_OUT; + + public ConsoleAppender() { + } + + public void setTarget(String value) { + String v = value.trim(); + + if (SYSTEM_OUT.equalsIgnoreCase(v)) { + target = SYSTEM_OUT; + } else if (SYSTEM_ERR.equalsIgnoreCase(v)) { + target = SYSTEM_ERR; + } else { + targetWarn(value); + } + } + + public String getTarget() { + return target; + } + + void targetWarn(String val) { + SysLogger.warn("[" + val + "] should be System.out or System.err."); + SysLogger.warn("Using previously set target, System.out by default."); + } + + public void activateOptions() { + if (target.equals(SYSTEM_ERR)) { + setWriter(createWriter(System.err)); + } else { + setWriter(createWriter(System.out)); + } + super.activateOptions(); + } + + protected final void closeWriter() { + + } + } + + public static LayoutBuilder newLayoutBuilder() { + return new LayoutBuilder(); + } + + public static class LayoutBuilder { + + private Layout layout; + + public LayoutBuilder withSimpleLayout() { + layout = new SimpleLayout(); + return this; + } + + public LayoutBuilder withDefaultLayout() { + layout = new DefaultLayout(); + return this; + } + + public Layout build() { + if (layout == null) { + layout = new SimpleLayout(); + } + return layout; + } + } + + public static class SimpleLayout extends Layout { + + @Override + public String format(LoggingEvent event) { + + StringBuilder sb = new StringBuilder(); + sb.append(event.getLevel().toString()); + sb.append(" - "); + sb.append(event.getRenderedMessage()); + sb.append("\r\n"); + return sb.toString(); + } + + @Override + public boolean ignoresThrowable() { + return false; + } + } + + + /** + * %d{yyy-MM-dd HH:mm:ss,SSS} %p %c{1}%L - %m%n + */ + public static class DefaultLayout extends Layout { + @Override + public String format(LoggingEvent event) { + + StringBuilder sb = new StringBuilder(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS"); + String format = simpleDateFormat.format(new Date(event.timeStamp)); + sb.append(format); + sb.append(" "); + sb.append(event.getLevel()); + sb.append(" "); + sb.append(event.getLoggerName()); + sb.append(" - "); + sb.append(event.getRenderedMessage()); + String[] throwableStr = event.getThrowableStr(); + if (throwableStr != null) { + sb.append("\r\n"); + for (String s : throwableStr) { + sb.append(s); + sb.append("\r\n"); + } + } + sb.append("\r\n"); + return sb.toString(); + } + + @Override + public boolean ignoresThrowable() { + return false; + } + } +} diff --git a/logging/src/main/java/org/apache/rocketmq/logging/inner/LoggingEvent.java b/logging/src/main/java/org/apache/rocketmq/logging/inner/LoggingEvent.java new file mode 100644 index 0000000000..06fa6aed9d --- /dev/null +++ b/logging/src/main/java/org/apache/rocketmq/logging/inner/LoggingEvent.java @@ -0,0 +1,124 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.logging.inner; + +import java.io.IOException; +import java.io.InterruptedIOException; +import java.io.LineNumberReader; +import java.io.PrintWriter; +import java.io.StringReader; +import java.io.StringWriter; +import java.util.ArrayList; + +public class LoggingEvent implements java.io.Serializable { + + transient public final String fqnOfCategoryClass; + + transient private Object message; + + transient private Level level; + + transient private Logger logger; + + private String renderedMessage; + + private String threadName; + + public final long timeStamp; + + private Throwable throwable; + + public LoggingEvent(String fqnOfCategoryClass, Logger logger, + Level level, Object message, Throwable throwable) { + this.fqnOfCategoryClass = fqnOfCategoryClass; + this.message = message; + this.logger = logger; + this.throwable = throwable; + this.level = level; + timeStamp = System.currentTimeMillis(); + } + + public Object getMessage() { + if (message != null) { + return message; + } else { + return getRenderedMessage(); + } + } + + public String getRenderedMessage() { + if (renderedMessage == null && message != null) { + if (message instanceof String) { + renderedMessage = (String) message; + } else { + renderedMessage = message.toString(); + } + if (renderedMessage != null) { + renderedMessage = renderedMessage.replace('\r', ' ').replace('\n', ' '); + } + } + return renderedMessage; + } + + public String getThreadName() { + if (threadName == null) { + threadName = (Thread.currentThread()).getName(); + } + return threadName; + } + + public Level getLevel() { + return level; + } + + public String getLoggerName() { + return logger.getName(); + } + + public String[] getThrowableStr() { + if (throwable == null) { + return null; + } + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + try { + throwable.printStackTrace(pw); + } catch (RuntimeException ex) { + SysLogger.warn("InnerLogger print stack trace error", ex); + } + pw.flush(); + LineNumberReader reader = new LineNumberReader( + new StringReader(sw.toString())); + ArrayList lines = new ArrayList<>(); + try { + String line = reader.readLine(); + while (line != null) { + lines.add(line); + line = reader.readLine(); + } + } catch (IOException ex) { + if (ex instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + lines.add(ex.toString()); + } + String[] tempRep = new String[lines.size()]; + lines.toArray(tempRep); + return tempRep; + } +} diff --git a/logging/src/main/java/org/apache/rocketmq/logging/inner/SysLogger.java b/logging/src/main/java/org/apache/rocketmq/logging/inner/SysLogger.java new file mode 100755 index 0000000000..b6d1049778 --- /dev/null +++ b/logging/src/main/java/org/apache/rocketmq/logging/inner/SysLogger.java @@ -0,0 +1,89 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.logging.inner; + +public class SysLogger { + + protected static boolean debugEnabled = false; + + private static boolean quietMode = false; + + private static final String PREFIX = "RocketMQLog: "; + private static final String ERR_PREFIX = "RocketMQLog:ERROR "; + private static final String WARN_PREFIX = "RocketMQLog:WARN "; + + public static void setInternalDebugging(boolean enabled) { + debugEnabled = enabled; + } + + public static void debug(String msg) { + if (debugEnabled && !quietMode) { + System.out.printf("%s", PREFIX + msg); + } + } + + public static void debug(String msg, Throwable t) { + if (debugEnabled && !quietMode) { + System.out.printf("%s", PREFIX + msg); + if (t != null) { + t.printStackTrace(System.out); + } + } + } + + public static void error(String msg) { + if (quietMode) { + return; + } + System.err.println(ERR_PREFIX + msg); + } + + public static void error(String msg, Throwable t) { + if (quietMode) { + return; + } + + System.err.println(ERR_PREFIX + msg); + if (t != null) { + t.printStackTrace(); + } + } + + public static void setQuietMode(boolean quietMode) { + SysLogger.quietMode = quietMode; + } + + public static void warn(String msg) { + if (quietMode) { + return; + } + + System.err.println(WARN_PREFIX + msg); + } + + public static void warn(String msg, Throwable t) { + if (quietMode) { + return; + } + + System.err.println(WARN_PREFIX + msg); + if (t != null) { + t.printStackTrace(); + } + } +} diff --git a/logging/src/main/java/org/apache/rocketmq/logging/package-info.java b/logging/src/main/java/org/apache/rocketmq/logging/package-info.java new file mode 100644 index 0000000000..7cb0645de0 --- /dev/null +++ b/logging/src/main/java/org/apache/rocketmq/logging/package-info.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.logging; + +/* + This package is a minimal logger on the basis of Apache Log4j without + file configuration and pattern layout configuration. Main forked files are + followed as below: + 1. LoggingEvent + 2. Logger + 3. Layout + 4. Level + 5. AsyncAppender + 6. FileAppender + 7. RollingFileAppender + 8. DailyRollingFileAppender + 9. ConsoleAppender + + For more information about Apache Log4j, please go to https://github.com/apache/log4j. + */ \ No newline at end of file diff --git a/logging/src/test/java/org/apache/rocketmq/logging/BasicLoggerTest.java b/logging/src/test/java/org/apache/rocketmq/logging/BasicLoggerTest.java new file mode 100644 index 0000000000..c198704de2 --- /dev/null +++ b/logging/src/test/java/org/apache/rocketmq/logging/BasicLoggerTest.java @@ -0,0 +1,69 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.logging; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import org.apache.rocketmq.logging.inner.Level; +import org.apache.rocketmq.logging.inner.Logger; +import org.apache.rocketmq.logging.inner.LoggingEvent; +import org.junit.After; +import org.junit.Before; + +public class BasicLoggerTest { + + protected Logger logger = Logger.getLogger("test"); + + protected LoggingEvent loggingEvent; + + protected String loggingDir = System.getProperty("user.home") + "/logs/rocketmq-test"; + + @Before + public void createLoggingEvent() { + loggingEvent = new LoggingEvent(Logger.class.getName(), logger, Level.INFO, + "junit test error", new RuntimeException("createLogging error")); + } + + public String readFile(String file) throws IOException { + StringBuilder stringBuilder = new StringBuilder(); + FileInputStream fileInputStream = new FileInputStream(file); + BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fileInputStream)); + String line = bufferedReader.readLine(); + while (line != null) { + stringBuilder.append(line); + stringBuilder.append("\r\n"); + line = bufferedReader.readLine(); + } + bufferedReader.close(); + return stringBuilder.toString(); + } + + @After + public void clean() { + File file = new File(loggingDir); + if (file.exists()) { + File[] files = file.listFiles(); + for (File file1 : files) { + file1.delete(); + } + } + } +} diff --git a/logging/src/test/java/org/apache/rocketmq/logging/InnerLoggerFactoryTest.java b/logging/src/test/java/org/apache/rocketmq/logging/InnerLoggerFactoryTest.java new file mode 100644 index 0000000000..2faaabcd6b --- /dev/null +++ b/logging/src/test/java/org/apache/rocketmq/logging/InnerLoggerFactoryTest.java @@ -0,0 +1,91 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.logging; + +import org.apache.rocketmq.logging.inner.Appender; +import org.apache.rocketmq.logging.inner.Level; +import org.apache.rocketmq.logging.inner.Logger; +import org.apache.rocketmq.logging.inner.LoggingBuilder; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +public class InnerLoggerFactoryTest extends BasicLoggerTest { + + private ByteArrayOutputStream byteArrayOutputStream; + + public static final String LOGGER = "ConsoleLogger"; + + private PrintStream out; + + @Before + public void initLogger() { + out = System.out; + byteArrayOutputStream = new ByteArrayOutputStream(); + System.setOut(new PrintStream(byteArrayOutputStream)); + + Appender consoleAppender = LoggingBuilder.newAppenderBuilder() + .withConsoleAppender(LoggingBuilder.SYSTEM_OUT) + .withLayout(LoggingBuilder.newLayoutBuilder().withDefaultLayout().build()).build(); + + Logger consoleLogger = Logger.getLogger("ConsoleLogger"); + consoleLogger.setAdditivity(false); + consoleLogger.addAppender(consoleAppender); + consoleLogger.setLevel(Level.INFO); + } + + @After + public void fixConsole() { + System.setOut(out); + } + + @Test + public void testInnerLoggerFactory() { + InternalLoggerFactory.setCurrentLoggerType(InternalLoggerFactory.LOGGER_INNER); + + InternalLogger logger1 = InnerLoggerFactory.getLogger(LOGGER); + InternalLogger logger = InternalLoggerFactory.getLogger(LOGGER); + + Assert.assertTrue(logger.getName().equals(logger1.getName())); + + InternalLogger logger2 = InnerLoggerFactory.getLogger(InnerLoggerFactoryTest.class); + InnerLoggerFactory.InnerLogger logger3 = (InnerLoggerFactory.InnerLogger) logger2; + + logger.info("innerLogger inner info Message"); + logger.error("innerLogger inner error Message", new RuntimeException()); + logger.debug("innerLogger inner debug message"); + logger3.info("innerLogger info message"); + logger3.error("logback error message"); + logger3.info("info {}", "hahahah"); + logger3.warn("warn {}", "hahahah"); + logger3.warn("logger3 warn"); + logger3.error("error {}", "hahahah"); + logger3.debug("debug {}", "hahahah"); + + String content = new String(byteArrayOutputStream.toByteArray()); + + Assert.assertTrue(content.contains("InnerLoggerFactoryTest")); + Assert.assertTrue(content.contains("info")); + Assert.assertTrue(content.contains("RuntimeException")); + Assert.assertTrue(!content.contains("debug")); + } +} diff --git a/logging/src/test/java/org/apache/rocketmq/logging/InternalLoggerTest.java b/logging/src/test/java/org/apache/rocketmq/logging/InternalLoggerTest.java new file mode 100644 index 0000000000..50f1dd1c9b --- /dev/null +++ b/logging/src/test/java/org/apache/rocketmq/logging/InternalLoggerTest.java @@ -0,0 +1,68 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.logging; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import org.apache.rocketmq.logging.inner.Appender; +import org.apache.rocketmq.logging.inner.Level; +import org.apache.rocketmq.logging.inner.Logger; +import org.apache.rocketmq.logging.inner.LoggingBuilder; +import org.apache.rocketmq.logging.inner.SysLogger; +import org.junit.Assert; +import org.junit.Test; + +public class InternalLoggerTest { + + @Test + public void testInternalLogger() { + SysLogger.setQuietMode(false); + SysLogger.setInternalDebugging(true); + PrintStream out = System.out; + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + System.setOut(new PrintStream(byteArrayOutputStream)); + + Appender consoleAppender = LoggingBuilder.newAppenderBuilder() + .withConsoleAppender(LoggingBuilder.SYSTEM_OUT) + .withLayout(LoggingBuilder.newLayoutBuilder().withDefaultLayout().build()).build(); + + Logger consoleLogger = Logger.getLogger("ConsoleLogger"); + consoleLogger.setAdditivity(false); + consoleLogger.addAppender(consoleAppender); + consoleLogger.setLevel(Level.INFO); + + Logger.getRootLogger().addAppender(consoleAppender); + + InternalLoggerFactory.setCurrentLoggerType(InternalLoggerFactory.LOGGER_INNER); + InternalLogger logger = InternalLoggerFactory.getLogger(InternalLoggerTest.class); + InternalLogger consoleLogger1 = InternalLoggerFactory.getLogger("ConsoleLogger"); + + consoleLogger1.warn("simple warn {}", 14555); + + logger.info("testInternalLogger"); + consoleLogger1.info("consoleLogger1"); + + System.setOut(out); + consoleAppender.close(); + + String result = new String(byteArrayOutputStream.toByteArray()); + Assert.assertTrue(result.contains("consoleLogger1")); + Assert.assertTrue(result.contains("testInternalLogger")); + } + +} diff --git a/logging/src/test/java/org/apache/rocketmq/logging/Slf4jLoggerFactoryTest.java b/logging/src/test/java/org/apache/rocketmq/logging/Slf4jLoggerFactoryTest.java new file mode 100644 index 0000000000..2fe2abf497 --- /dev/null +++ b/logging/src/test/java/org/apache/rocketmq/logging/Slf4jLoggerFactoryTest.java @@ -0,0 +1,80 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.logging; + +import ch.qos.logback.classic.joran.JoranConfigurator; +import ch.qos.logback.core.Context; +import ch.qos.logback.core.joran.spi.JoranException; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.slf4j.ILoggerFactory; +import org.slf4j.LoggerFactory; + +import java.io.IOException; +import java.net.URL; + +public class Slf4jLoggerFactoryTest extends BasicLoggerTest { + + public static final String LOGGER = "Slf4jTestLogger"; + + @Before + public void initLogback() throws JoranException { + InternalLoggerFactory.setCurrentLoggerType(InternalLoggerFactory.LOGGER_SLF4J); + System.setProperty("loggingDir", loggingDir); + ILoggerFactory iLoggerFactory = LoggerFactory.getILoggerFactory(); + JoranConfigurator joranConfigurator = new JoranConfigurator(); + joranConfigurator.setContext((Context) iLoggerFactory); + URL logbackConfigFile = Slf4jLoggerFactoryTest.class.getClassLoader().getResource("logback_test.xml"); + if (logbackConfigFile == null) { + throw new RuntimeException("can't find logback_test.xml"); + } else { + joranConfigurator.doConfigure(logbackConfigFile); + } + } + + @Test + public void testSlf4j() throws IOException { + InternalLogger logger1 = Slf4jLoggerFactory.getLogger(LOGGER); + InternalLogger logger = InternalLoggerFactory.getLogger(LOGGER); + Assert.assertTrue(logger.getName().equals(logger1.getName())); + InternalLogger logger2 = Slf4jLoggerFactory.getLogger(Slf4jLoggerFactoryTest.class); + Slf4jLoggerFactory.Slf4jLogger logger3 = (Slf4jLoggerFactory.Slf4jLogger) logger2; + + String file = loggingDir + "/logback_test.log"; + + logger.info("logback slf4j info Message"); + logger.error("logback slf4j error Message", new RuntimeException("test")); + logger.debug("logback slf4j debug message"); + logger3.info("logback info message"); + logger3.error("logback error message"); + logger3.info("info {}", "hahahah"); + logger3.warn("warn {}", "hahahah"); + logger3.warn("logger3 warn"); + logger3.error("error {}", "hahahah"); + logger3.debug("debug {}", "hahahah"); + String content = readFile(file); + System.out.printf(content); + + Assert.assertTrue(content.contains("Slf4jLoggerFactoryTest")); + Assert.assertTrue(content.contains("info")); + Assert.assertTrue(content.contains("RuntimeException")); + Assert.assertTrue(!content.contains("debug")); + } + +} diff --git a/logging/src/test/java/org/apache/rocketmq/logging/inner/AppenderTest.java b/logging/src/test/java/org/apache/rocketmq/logging/inner/AppenderTest.java new file mode 100644 index 0000000000..cd3d0aa8a6 --- /dev/null +++ b/logging/src/test/java/org/apache/rocketmq/logging/inner/AppenderTest.java @@ -0,0 +1,158 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.logging.inner; + +import org.apache.rocketmq.logging.BasicLoggerTest; +import org.junit.Assert; +import org.junit.Test; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.PrintStream; + +public class AppenderTest extends BasicLoggerTest { + + @Test + public void testConsole() { + SysLogger.setQuietMode(false); + SysLogger.setInternalDebugging(true); + PrintStream out = System.out; + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + System.setOut(new PrintStream(byteArrayOutputStream)); + + Appender consoleAppender = LoggingBuilder.newAppenderBuilder() + .withConsoleAppender(LoggingBuilder.SYSTEM_OUT) + .withLayout(LoggingBuilder.newLayoutBuilder().withDefaultLayout().build()).build(); + + LoggingBuilder.ConsoleAppender consoleAppender1 = (LoggingBuilder.ConsoleAppender) consoleAppender; + String target = consoleAppender1.getTarget(); + Assert.assertTrue(target.equals(LoggingBuilder.SYSTEM_OUT)); + + Layout layout = consoleAppender.getLayout(); + Assert.assertTrue(layout instanceof LoggingBuilder.DefaultLayout); + + Logger consoleLogger = Logger.getLogger("ConsoleLogger"); + consoleLogger.setAdditivity(false); + consoleLogger.addAppender(consoleAppender); + consoleLogger.setLevel(Level.INFO); + + Logger.getRootLogger().addAppender(consoleAppender); + Logger.getLogger(AppenderTest.class).info("this is a AppenderTest log"); + + Logger.getLogger("ConsoleLogger").info("console info Message"); + Logger.getLogger("ConsoleLogger").error("console error Message", new RuntimeException()); + Logger.getLogger("ConsoleLogger").debug("console debug message"); + System.setOut(out); + consoleAppender.close(); + + String result = new String(byteArrayOutputStream.toByteArray()); + + Assert.assertTrue(result.contains("info")); + Assert.assertTrue(result.contains("RuntimeException")); + Assert.assertTrue(!result.contains("debug")); + Assert.assertTrue(result.contains("AppenderTest")); + } + + @Test + public void testInnerFile() throws IOException { + String file = loggingDir + "/logger.log"; + + Logger fileLogger = Logger.getLogger("fileLogger"); + + Appender myappender = LoggingBuilder.newAppenderBuilder() + .withDailyFileRollingAppender(file, "'.'yyyy-MM-dd") + .withName("myappender") + .withLayout(LoggingBuilder.newLayoutBuilder().withDefaultLayout().build()).build(); + + fileLogger.addAppender(myappender); + + Logger.getLogger("fileLogger").setLevel(Level.INFO); + + Logger.getLogger("fileLogger").info("fileLogger info Message"); + Logger.getLogger("fileLogger").error("fileLogger error Message", new RuntimeException()); + Logger.getLogger("fileLogger").debug("fileLogger debug message"); + + myappender.close(); + + String content = readFile(file); + + Assert.assertTrue(content.contains("info")); + Assert.assertTrue(content.contains("RuntimeException")); + Assert.assertTrue(!content.contains("debug")); + } + + + + @Test + public void asyncAppenderTest() { + Appender appender = LoggingBuilder.newAppenderBuilder().withAsync(false, 1024) + .withConsoleAppender(LoggingBuilder.SYSTEM_OUT) + .withLayout(LoggingBuilder.newLayoutBuilder().withDefaultLayout().build()).build(); + Assert.assertTrue(appender instanceof LoggingBuilder.AsyncAppender); + LoggingBuilder.AsyncAppender asyncAppender = (LoggingBuilder.AsyncAppender) appender; + Assert.assertTrue(!asyncAppender.getBlocking()); + Assert.assertTrue(asyncAppender.getBufferSize() > 0); + } + + @Test + public void testWriteAppender() { + LoggingBuilder.WriterAppender writerAppender = new LoggingBuilder.WriterAppender(); + writerAppender.setImmediateFlush(true); + Assert.assertTrue(writerAppender.getImmediateFlush()); + } + + @Test + public void testFileAppender() throws IOException { + LoggingBuilder.FileAppender fileAppender = new LoggingBuilder.FileAppender( + new LoggingBuilder.SimpleLayout(), loggingDir + "/simple.log", true); + fileAppender.setBufferSize(1024); + int bufferSize = fileAppender.getBufferSize(); + boolean bufferedIO = fileAppender.getBufferedIO(); + Assert.assertTrue(!bufferedIO); + Assert.assertTrue(bufferSize > 0); + Assert.assertTrue(fileAppender.getAppend()); + + LoggingBuilder.RollingFileAppender rollingFileAppender = new LoggingBuilder.RollingFileAppender(); + rollingFileAppender.setImmediateFlush(true); + rollingFileAppender.setMaximumFileSize(1024 * 1024); + rollingFileAppender.setMaxBackupIndex(10); + rollingFileAppender.setAppend(true); + rollingFileAppender.setFile(loggingDir + "/rolling_file.log"); + rollingFileAppender.setName("myRollingFileAppender"); + + rollingFileAppender.activateOptions(); + + Assert.assertTrue(rollingFileAppender.getMaximumFileSize() > 0); + Assert.assertTrue(rollingFileAppender.getMaxBackupIndex() == 10); + } + + @Test + public void testDailyRollingAppender() { + LoggingBuilder.DailyRollingFileAppender dailyRollingFileAppender = new LoggingBuilder.DailyRollingFileAppender(); + dailyRollingFileAppender.setFile(loggingDir + "/daily.log"); + dailyRollingFileAppender.setName("dailyAppender"); + dailyRollingFileAppender.setAppend(true); + dailyRollingFileAppender.setDatePattern("'.'yyyy-mm-dd"); + String datePattern = dailyRollingFileAppender.getDatePattern(); + Assert.assertTrue(datePattern != null); + dailyRollingFileAppender.activateOptions(); + } + +} + + diff --git a/logging/src/test/java/org/apache/rocketmq/logging/inner/LayoutTest.java b/logging/src/test/java/org/apache/rocketmq/logging/inner/LayoutTest.java new file mode 100644 index 0000000000..c48be1d820 --- /dev/null +++ b/logging/src/test/java/org/apache/rocketmq/logging/inner/LayoutTest.java @@ -0,0 +1,52 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.logging.inner; + +import org.apache.rocketmq.logging.BasicLoggerTest; +import org.junit.Assert; +import org.junit.Test; + +public class LayoutTest extends BasicLoggerTest { + + @Test + public void testSimpleLayout() { + Layout layout = LoggingBuilder.newLayoutBuilder().withSimpleLayout().build(); + String format = layout.format(loggingEvent); + Assert.assertTrue(format.contains("junit")); + } + + @Test + public void testDefaultLayout() { + Layout layout = LoggingBuilder.newLayoutBuilder().withDefaultLayout().build(); + String format = layout.format(loggingEvent); + String contentType = layout.getContentType(); + Assert.assertTrue(contentType.contains("text")); + Assert.assertTrue(format.contains("createLoggingEvent")); + Assert.assertTrue(format.contains("createLogging error")); + Assert.assertTrue(format.contains(Thread.currentThread().getName())); + } + + @Test + public void testLogFormat() { + Layout innerLayout = LoggingBuilder.newLayoutBuilder().withDefaultLayout().build(); + + LoggingEvent loggingEvent = new LoggingEvent(Logger.class.getName(), logger, org.apache.rocketmq.logging.inner.Level.INFO, + "junit test error", null); + String format = innerLayout.format(loggingEvent); + } +} diff --git a/logging/src/test/java/org/apache/rocketmq/logging/inner/LevelTest.java b/logging/src/test/java/org/apache/rocketmq/logging/inner/LevelTest.java new file mode 100644 index 0000000000..297523a747 --- /dev/null +++ b/logging/src/test/java/org/apache/rocketmq/logging/inner/LevelTest.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.logging.inner; + +import org.junit.Assert; +import org.junit.Test; + +public class LevelTest { + + @Test + public void levelTest() { + Level info = Level.toLevel("info"); + Level error = Level.toLevel(3); + Assert.assertTrue(error != null && info != null); + } + + @Test + public void loggerLevel() { + Level level = Logger.getRootLogger().getLevel(); + Assert.assertTrue(level != null); + } +} diff --git a/logging/src/test/java/org/apache/rocketmq/logging/inner/LoggerRepositoryTest.java b/logging/src/test/java/org/apache/rocketmq/logging/inner/LoggerRepositoryTest.java new file mode 100644 index 0000000000..6a56c20ff7 --- /dev/null +++ b/logging/src/test/java/org/apache/rocketmq/logging/inner/LoggerRepositoryTest.java @@ -0,0 +1,49 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.logging.inner; + +import org.apache.rocketmq.logging.BasicLoggerTest; +import org.junit.Assert; +import org.junit.Test; + +import java.util.Enumeration; + +public class LoggerRepositoryTest extends BasicLoggerTest { + + @Test + public void testLoggerRepository() { + Logger.getRepository().setLogLevel(Level.INFO); + + String file = loggingDir + "/repo.log"; + Logger fileLogger = Logger.getLogger("repoLogger"); + + Appender myappender = LoggingBuilder.newAppenderBuilder() + .withDailyFileRollingAppender(file, "'.'yyyy-MM-dd") + .withName("repoAppender") + .withLayout(LoggingBuilder.newLayoutBuilder().withDefaultLayout().build()).build(); + + fileLogger.addAppender(myappender); + Logger.getLogger("repoLogger").setLevel(Level.INFO); + Logger repoLogger = Logger.getRepository().exists("repoLogger"); + Assert.assertTrue(repoLogger != null); + Enumeration currentLoggers = Logger.getRepository().getCurrentLoggers(); + Level logLevel = Logger.getRepository().getLogLevel(); + Assert.assertTrue(logLevel.equals(Level.INFO)); +// Logger.getRepository().shutdown(); + } +} diff --git a/logging/src/test/java/org/apache/rocketmq/logging/inner/LoggerTest.java b/logging/src/test/java/org/apache/rocketmq/logging/inner/LoggerTest.java new file mode 100644 index 0000000000..904c63200e --- /dev/null +++ b/logging/src/test/java/org/apache/rocketmq/logging/inner/LoggerTest.java @@ -0,0 +1,111 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.logging.inner; + +import org.apache.rocketmq.logging.BasicLoggerTest; +import org.apache.rocketmq.logging.InnerLoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.PrintStream; + +public class LoggerTest extends BasicLoggerTest { + + + @Before + public void init() { + InternalLoggerFactory.setCurrentLoggerType(InnerLoggerFactory.LOGGER_INNER); + } + + @Test + public void testInnerConsoleLogger() throws IOException { + PrintStream out = System.out; + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + System.setOut(new PrintStream(byteArrayOutputStream)); + + Appender consoleAppender = LoggingBuilder.newAppenderBuilder() + .withConsoleAppender(LoggingBuilder.SYSTEM_OUT) + .withLayout(LoggingBuilder.newLayoutBuilder().withDefaultLayout().build()).build(); + + Logger.getLogger("ConsoleLogger").addAppender(consoleAppender); + Logger.getLogger("ConsoleLogger").setLevel(Level.INFO); + + InternalLogger consoleLogger1 = InternalLoggerFactory.getLogger("ConsoleLogger"); + consoleLogger1.info("console info Message"); + consoleLogger1.error("console error Message", new RuntimeException()); + consoleLogger1.debug("console debug message"); + + consoleLogger1.info("console {} test", "simple"); + consoleLogger1.info("[WATERMARK] Send Queue Size: {} SlowTimeMills: {}", 1, 300); + consoleLogger1.info("new consumer connected, group: {} {} {} channel: {}", "mygroup", "orderly", + "broudcast", new RuntimeException("simple object")); + + System.setOut(out); + consoleAppender.close(); + + String result = new String(byteArrayOutputStream.toByteArray()); + + Assert.assertTrue(result.contains("info")); + Assert.assertTrue(result.contains("RuntimeException")); + Assert.assertTrue(result.contains("WATERMARK")); + Assert.assertTrue(result.contains("consumer")); + Assert.assertTrue(result.contains("broudcast")); + Assert.assertTrue(result.contains("simple test")); + Assert.assertTrue(!result.contains("debug")); + } + + @Test + public void testInnerFileLogger() throws IOException { + String file = loggingDir + "/inner.log"; + + Logger fileLogger = Logger.getLogger("innerLogger"); + + Appender myappender = LoggingBuilder.newAppenderBuilder() + .withDailyFileRollingAppender(file, "'.'yyyy-MM-dd") + .withName("innerAppender") + .withLayout(LoggingBuilder.newLayoutBuilder().withDefaultLayout().build()).build(); + + fileLogger.addAppender(myappender); + fileLogger.setLevel(Level.INFO); + + InternalLogger innerLogger = InternalLoggerFactory.getLogger("innerLogger"); + + innerLogger.info("fileLogger info Message"); + innerLogger.error("fileLogger error Message", new RuntimeException()); + innerLogger.debug("fileLogger debug message"); + + myappender.close(); + + String content = readFile(file); + + Assert.assertTrue(content.contains("info")); + Assert.assertTrue(content.contains("RuntimeException")); + Assert.assertTrue(!content.contains("debug")); + } + + @After + public void close() { + InternalLoggerFactory.setCurrentLoggerType(null); + } +} diff --git a/logging/src/test/java/org/apache/rocketmq/logging/inner/LoggingBuilderTest.java b/logging/src/test/java/org/apache/rocketmq/logging/inner/LoggingBuilderTest.java new file mode 100644 index 0000000000..e3dbb14965 --- /dev/null +++ b/logging/src/test/java/org/apache/rocketmq/logging/inner/LoggingBuilderTest.java @@ -0,0 +1,113 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.logging.inner; + +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FilenameFilter; +import java.io.PrintStream; + +import org.apache.rocketmq.logging.BasicLoggerTest; +import org.junit.Assert; +import org.junit.Test; + +public class LoggingBuilderTest extends BasicLoggerTest { + + @Test + public void testConsole() { + PrintStream out = System.out; + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + System.setOut(new PrintStream(byteArrayOutputStream)); + + Appender consoleAppender = LoggingBuilder.newAppenderBuilder() + .withConsoleAppender(LoggingBuilder.SYSTEM_OUT) + .withLayout(LoggingBuilder.newLayoutBuilder().withDefaultLayout().build()).build(); + consoleAppender.doAppend(loggingEvent); + String result = new String(byteArrayOutputStream.toByteArray()); + System.setOut(out); + + Assert.assertTrue(result.contains(loggingEvent.getMessage().toString())); + + } + + @Test + public void testFileAppender() throws InterruptedException { + String logFile = loggingDir + "/file.log"; + Appender rollingFileAppender = LoggingBuilder.newAppenderBuilder().withAsync(false, 102400) + .withFileAppender(logFile).withLayout(LoggingBuilder.newLayoutBuilder().withDefaultLayout().build()).build(); + + for (int i = 0; i < 10; i++) { + rollingFileAppender.doAppend(loggingEvent); + } + rollingFileAppender.close(); + + File file = new File(logFile); + Assert.assertTrue(file.length() > 0); + } + + @Test + public void testRollingFileAppender() throws InterruptedException { + + String rollingFile = loggingDir + "/rolling.log"; + Appender rollingFileAppender = LoggingBuilder.newAppenderBuilder().withAsync(false, 1024) + .withRollingFileAppender(rollingFile, "1024", 5) + .withLayout(LoggingBuilder.newLayoutBuilder().withDefaultLayout().build()).build(); + + for (int i = 0; i < 100; i++) { + rollingFileAppender.doAppend(loggingEvent); + } + rollingFileAppender.close(); + + int cc = 0; + for (int i = 0; i < 5; i++) { + File file; + if (i == 0) { + file = new File(rollingFile); + } else { + file = new File(rollingFile + "." + i); + } + if (file.exists() && file.length() > 0) { + cc += 1; + } + } + Assert.assertTrue(cc >= 2); + } + + //@Test + public void testDailyRollingFileAppender() throws InterruptedException { + String rollingFile = loggingDir + "/daily-rolling--222.log"; + Appender rollingFileAppender = LoggingBuilder.newAppenderBuilder().withAsync(false, 1024) + .withDailyFileRollingAppender(rollingFile, "'.'yyyy-MM-dd_HH-mm-ss-SSS") + .withLayout(LoggingBuilder.newLayoutBuilder().withDefaultLayout().build()).build(); + + for (int i = 0; i < 100; i++) { + rollingFileAppender.doAppend(loggingEvent); + } + + rollingFileAppender.close(); + + File file = new File(loggingDir); + String[] list = file.list(new FilenameFilter() { + @Override + public boolean accept(File dir, String name) { + return name.startsWith("daily-rolling--222.log"); + } + }); + Assert.assertTrue(list.length > 0); + } +} diff --git a/logging/src/test/java/org/apache/rocketmq/logging/inner/MessageFormatterTest.java b/logging/src/test/java/org/apache/rocketmq/logging/inner/MessageFormatterTest.java new file mode 100644 index 0000000000..5d3d868023 --- /dev/null +++ b/logging/src/test/java/org/apache/rocketmq/logging/inner/MessageFormatterTest.java @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.logging.inner; + + +import org.apache.rocketmq.logging.InnerLoggerFactory; +import org.junit.Assert; +import org.junit.Test; + +public class MessageFormatterTest { + + @Test + public void formatTest() { + InnerLoggerFactory.FormattingTuple logging = InnerLoggerFactory.MessageFormatter.format("this is {},and {}", "logging", 6546); + String message = logging.getMessage(); + Assert.assertTrue(message.contains("logging")); + + InnerLoggerFactory.FormattingTuple format = InnerLoggerFactory.MessageFormatter.format("cause exception {}", 143545, new RuntimeException()); + String message1 = format.getMessage(); + Throwable throwable = format.getThrowable(); + Assert.assertTrue(throwable != null); + } + +} diff --git a/logging/src/test/resources/logback_test.xml b/logging/src/test/resources/logback_test.xml new file mode 100644 index 0000000000..c1ab200449 --- /dev/null +++ b/logging/src/test/resources/logback_test.xml @@ -0,0 +1,46 @@ + + + + + + ${loggingDir}/logback_test.log + true + + ${loggingDir}/logback_test.%i.log + + 1 + 5 + + + 10MB + + + %d{yyy-MM-dd HH:mm:ss,GMT+8} %p %t - %m%n + UTF-8 + + + + + + + + + + diff --git a/namesrv/BUILD.bazel b/namesrv/BUILD.bazel index a64474114d..d6efa8c7f3 100644 --- a/namesrv/BUILD.bazel +++ b/namesrv/BUILD.bazel @@ -22,6 +22,7 @@ java_library( visibility = ["//visibility:public"], deps = [ "//remoting", + "//logging", "//srvutil", "//tools", "//client", @@ -39,7 +40,6 @@ java_library( "@maven//:org_bouncycastle_bcpkix_jdk15on", "@maven//:commons_cli_commons_cli", "@maven//:com_google_guava_guava", - "@maven//:io_github_aliyun_mq_rocketmq_slf4j_api", ], ) @@ -50,6 +50,7 @@ java_library( deps = [ ":namesrv", "//remoting", + "//logging", "//srvutil", "//tools", "//client", @@ -62,7 +63,6 @@ java_library( "@maven//:com_alibaba_fastjson", "@maven//:org_slf4j_slf4j_api", "@maven//:ch_qos_logback_logback_core", - "@maven//:io_github_aliyun_mq_rocketmq_slf4j_api", ], resources = glob(["src/test/resources/certs/*.pem"]) + glob(["src/test/resources/certs/*.key"]) ) diff --git a/namesrv/pom.xml b/namesrv/pom.xml index 7e932d8176..cb4b6379ae 100644 --- a/namesrv/pom.xml +++ b/namesrv/pom.xml @@ -15,9 +15,7 @@ limitations under the License. --> - + org.apache.rocketmq rocketmq-all @@ -37,22 +35,26 @@ ${project.groupId} rocketmq-controller - ${project.version} ${project.groupId} rocketmq-client - ${project.version} ${project.groupId} rocketmq-tools - ${project.version} ${project.groupId} rocketmq-srvutil - ${project.version} + + + ch.qos.logback + logback-classic + + + org.slf4j + slf4j-api org.openjdk.jmh diff --git a/namesrv/src/main/java/org/apache/rocketmq/namesrv/NamesrvController.java b/namesrv/src/main/java/org/apache/rocketmq/namesrv/NamesrvController.java index d9fbd1c3cb..4476b0fff7 100644 --- a/namesrv/src/main/java/org/apache/rocketmq/namesrv/NamesrvController.java +++ b/namesrv/src/main/java/org/apache/rocketmq/namesrv/NamesrvController.java @@ -31,8 +31,8 @@ import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.future.FutureTaskExt; import org.apache.rocketmq.common.namesrv.NamesrvConfig; import org.apache.rocketmq.common.utils.NetworkUtil; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.namesrv.kvconfig.KVConfigManager; import org.apache.rocketmq.namesrv.processor.ClientRequestProcessor; import org.apache.rocketmq.namesrv.processor.ClusterTestRequestProcessor; @@ -54,8 +54,8 @@ import org.apache.rocketmq.remoting.protocol.RequestCode; import org.apache.rocketmq.srvutil.FileWatchService; public class NamesrvController { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME); - private static final Logger WATER_MARK_LOG = LoggerFactory.getLogger(LoggerName.NAMESRV_WATER_MARK_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME); + private static final InternalLogger WATER_MARK_LOG = InternalLoggerFactory.getLogger(LoggerName.NAMESRV_WATER_MARK_LOGGER_NAME); private final NamesrvConfig namesrvConfig; 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 c2e519090a..62a3d11c36 100644 --- a/namesrv/src/main/java/org/apache/rocketmq/namesrv/NamesrvStartup.java +++ b/namesrv/src/main/java/org/apache/rocketmq/namesrv/NamesrvStartup.java @@ -16,6 +16,8 @@ */ package org.apache.rocketmq.namesrv; +import ch.qos.logback.classic.LoggerContext; +import ch.qos.logback.classic.joran.JoranConfigurator; import java.io.BufferedInputStream; import java.io.InputStream; import java.nio.file.Files; @@ -32,17 +34,18 @@ import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.namesrv.NamesrvConfig; import org.apache.rocketmq.controller.ControllerManager; -import org.apache.rocketmq.shade.org.slf4j.Logger; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.netty.NettyClientConfig; import org.apache.rocketmq.remoting.netty.NettyServerConfig; import org.apache.rocketmq.remoting.protocol.RemotingCommand; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.srvutil.ServerUtil; import org.apache.rocketmq.srvutil.ShutdownHookThread; +import org.slf4j.LoggerFactory; public class NamesrvStartup { - private static Logger log; + private static InternalLogger log; private static Properties properties = null; private static NamesrvConfig namesrvConfig = null; private static NettyServerConfig nettyServerConfig = null; @@ -127,7 +130,13 @@ public class NamesrvStartup { System.exit(-2); } - log = LoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME); + LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); + JoranConfigurator configurator = new JoranConfigurator(); + configurator.setContext(lc); + lc.reset(); + configurator.doConfigure(namesrvConfig.getRocketmqHome() + "/conf/logback_namesrv.xml"); + + log = InternalLoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME); MixAll.printObjectProperties(log, namesrvConfig); MixAll.printObjectProperties(log, nettyServerConfig); diff --git a/namesrv/src/main/java/org/apache/rocketmq/namesrv/kvconfig/KVConfigManager.java b/namesrv/src/main/java/org/apache/rocketmq/namesrv/kvconfig/KVConfigManager.java index e4b9be52bd..b965bfb0b2 100644 --- a/namesrv/src/main/java/org/apache/rocketmq/namesrv/kvconfig/KVConfigManager.java +++ b/namesrv/src/main/java/org/apache/rocketmq/namesrv/kvconfig/KVConfigManager.java @@ -23,13 +23,13 @@ import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.namesrv.NamesrvController; import org.apache.rocketmq.remoting.protocol.body.KVTable; public class KVConfigManager { - private static final Logger log = LoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME); private final NamesrvController namesrvController; diff --git a/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/ClientRequestProcessor.java b/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/ClientRequestProcessor.java index d7782adebd..55c0cf063d 100644 --- a/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/ClientRequestProcessor.java +++ b/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/ClientRequestProcessor.java @@ -25,8 +25,8 @@ import org.apache.rocketmq.common.MQVersion; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.help.FAQUrl; import org.apache.rocketmq.common.namesrv.NamesrvUtil; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.namesrv.NamesrvController; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.netty.NettyRequestProcessor; @@ -37,7 +37,7 @@ import org.apache.rocketmq.remoting.protocol.route.TopicRouteData; public class ClientRequestProcessor implements NettyRequestProcessor { - private static Logger log = LoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME); + private static InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME); protected NamesrvController namesrvController; private long startupTimeMillis; diff --git a/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/ClusterTestRequestProcessor.java b/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/ClusterTestRequestProcessor.java index 07103ed2fa..271c336559 100644 --- a/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/ClusterTestRequestProcessor.java +++ b/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/ClusterTestRequestProcessor.java @@ -21,8 +21,8 @@ import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.help.FAQUrl; import org.apache.rocketmq.common.namesrv.NamesrvUtil; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.namesrv.NamesrvController; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.protocol.RemotingCommand; @@ -32,7 +32,7 @@ import org.apache.rocketmq.remoting.protocol.route.TopicRouteData; import org.apache.rocketmq.tools.admin.DefaultMQAdminExt; public class ClusterTestRequestProcessor extends ClientRequestProcessor { - private static final Logger log = LoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME); private final DefaultMQAdminExt adminExt; private final String productEnvName; diff --git a/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessor.java b/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessor.java index 0b16c47021..74a0693b9a 100644 --- a/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessor.java +++ b/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessor.java @@ -28,8 +28,8 @@ import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.namesrv.NamesrvUtil; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.namesrv.NamesrvController; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.exception.RemotingCommandException; @@ -68,7 +68,7 @@ import org.apache.rocketmq.remoting.protocol.namesrv.RegisterBrokerResult; import org.apache.rocketmq.remoting.protocol.route.TopicRouteData; public class DefaultRequestProcessor implements NettyRequestProcessor { - private static Logger log = LoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME); + private static InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME); protected final NamesrvController namesrvController; diff --git a/namesrv/src/main/java/org/apache/rocketmq/namesrv/routeinfo/BatchUnregistrationService.java b/namesrv/src/main/java/org/apache/rocketmq/namesrv/routeinfo/BatchUnregistrationService.java index cd5c3f37be..ad969e4265 100644 --- a/namesrv/src/main/java/org/apache/rocketmq/namesrv/routeinfo/BatchUnregistrationService.java +++ b/namesrv/src/main/java/org/apache/rocketmq/namesrv/routeinfo/BatchUnregistrationService.java @@ -24,8 +24,8 @@ import java.util.concurrent.LinkedBlockingQueue; import org.apache.rocketmq.common.ServiceThread; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.namesrv.NamesrvConfig; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.header.namesrv.UnRegisterBrokerRequestHeader; /** @@ -35,7 +35,7 @@ import org.apache.rocketmq.remoting.protocol.header.namesrv.UnRegisterBrokerRequ public class BatchUnregistrationService extends ServiceThread { private final RouteInfoManager routeInfoManager; private BlockingQueue unregistrationQueue; - private static final Logger log = LoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME); public BatchUnregistrationService(RouteInfoManager routeInfoManager, NamesrvConfig namesrvConfig) { this.routeInfoManager = routeInfoManager; diff --git a/namesrv/src/main/java/org/apache/rocketmq/namesrv/routeinfo/RouteInfoManager.java b/namesrv/src/main/java/org/apache/rocketmq/namesrv/routeinfo/RouteInfoManager.java index dd3411dc89..8bca701d76 100644 --- a/namesrv/src/main/java/org/apache/rocketmq/namesrv/routeinfo/RouteInfoManager.java +++ b/namesrv/src/main/java/org/apache/rocketmq/namesrv/routeinfo/RouteInfoManager.java @@ -42,8 +42,8 @@ import org.apache.rocketmq.common.namesrv.NamesrvConfig; import org.apache.rocketmq.common.sysflag.TopicSysFlag; import org.apache.rocketmq.common.topic.TopicValidator; import org.apache.rocketmq.common.utils.ConcurrentHashMapUtils; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.namesrv.NamesrvController; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.exception.RemotingConnectException; @@ -67,7 +67,7 @@ import org.apache.rocketmq.remoting.protocol.route.TopicRouteData; import org.apache.rocketmq.remoting.protocol.statictopic.TopicQueueMappingInfo; public class RouteInfoManager { - private static final Logger log = LoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME); private final static long DEFAULT_BROKER_CHANNEL_EXPIRED_TIME = 1000 * 60 * 2; private final ReadWriteLock lock = new ReentrantReadWriteLock(); private final Map> topicQueueTable; diff --git a/namesrv/src/test/java/org/apache/rocketmq/namesrv/processor/RequestProcessorTest.java b/namesrv/src/test/java/org/apache/rocketmq/namesrv/processor/RequestProcessorTest.java index e1ddb6f726..a5995e2194 100644 --- a/namesrv/src/test/java/org/apache/rocketmq/namesrv/processor/RequestProcessorTest.java +++ b/namesrv/src/test/java/org/apache/rocketmq/namesrv/processor/RequestProcessorTest.java @@ -28,7 +28,7 @@ import java.util.concurrent.ConcurrentHashMap; import org.apache.rocketmq.common.TopicConfig; import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.namesrv.NamesrvConfig; -import org.apache.rocketmq.shade.org.slf4j.Logger; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.namesrv.NamesrvController; import org.apache.rocketmq.namesrv.routeinfo.RouteInfoManager; import org.apache.rocketmq.remoting.exception.RemotingCommandException; @@ -67,7 +67,7 @@ public class RequestProcessorTest { private RouteInfoManager routeInfoManager; - private Logger logger; + private InternalLogger logger; @Before public void init() throws Exception { @@ -88,7 +88,7 @@ public class RequestProcessorTest { registerRouteInfoManager(); - logger = mock(Logger.class); + logger = mock(InternalLogger.class); setFinalStatic(DefaultRequestProcessor.class.getDeclaredField("log"), logger); } diff --git a/namesrv/src/test/java/org/apache/rocketmq/namesrv/routeinfo/GetRouteInfoBenchmark.java b/namesrv/src/test/java/org/apache/rocketmq/namesrv/routeinfo/GetRouteInfoBenchmark.java index b453f4ded7..ecbbafe0d1 100644 --- a/namesrv/src/test/java/org/apache/rocketmq/namesrv/routeinfo/GetRouteInfoBenchmark.java +++ b/namesrv/src/test/java/org/apache/rocketmq/namesrv/routeinfo/GetRouteInfoBenchmark.java @@ -17,6 +17,9 @@ package org.apache.rocketmq.namesrv.routeinfo; +import ch.qos.logback.classic.LoggerContext; +import ch.qos.logback.classic.joran.JoranConfigurator; +import ch.qos.logback.core.joran.spi.JoranException; import io.netty.channel.Channel; import java.util.ArrayList; import java.util.Random; @@ -43,6 +46,7 @@ import org.openjdk.jmh.annotations.State; import org.openjdk.jmh.annotations.TearDown; import org.openjdk.jmh.annotations.Threads; import org.openjdk.jmh.annotations.Warmup; +import org.slf4j.LoggerFactory; import static org.mockito.Mockito.mock; @@ -55,7 +59,13 @@ public class GetRouteInfoBenchmark { private ExecutorService es = Executors.newCachedThreadPool(); @Setup - public void setup() throws InterruptedException { + public void setup() throws InterruptedException, JoranException { + LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); + JoranConfigurator configurator = new JoranConfigurator(); + configurator.setContext(lc); + lc.reset(); + //https://logback.qos.ch/manual/configuration.html + lc.setPackagingDataEnabled(false); routeInfoManager = new RouteInfoManager(new NamesrvConfig(), null); diff --git a/namesrv/src/test/java/org/apache/rocketmq/namesrv/routeinfo/RegisterBrokerBenchmark.java b/namesrv/src/test/java/org/apache/rocketmq/namesrv/routeinfo/RegisterBrokerBenchmark.java index 0e9cf67f56..6ce2d01333 100644 --- a/namesrv/src/test/java/org/apache/rocketmq/namesrv/routeinfo/RegisterBrokerBenchmark.java +++ b/namesrv/src/test/java/org/apache/rocketmq/namesrv/routeinfo/RegisterBrokerBenchmark.java @@ -17,6 +17,9 @@ package org.apache.rocketmq.namesrv.routeinfo; +import ch.qos.logback.classic.LoggerContext; +import ch.qos.logback.classic.joran.JoranConfigurator; +import ch.qos.logback.core.joran.spi.JoranException; import io.netty.channel.Channel; import java.util.ArrayList; import java.util.Random; @@ -43,6 +46,7 @@ import org.openjdk.jmh.annotations.State; import org.openjdk.jmh.annotations.TearDown; import org.openjdk.jmh.annotations.Threads; import org.openjdk.jmh.annotations.Warmup; +import org.slf4j.LoggerFactory; import static org.mockito.Mockito.mock; @@ -58,7 +62,14 @@ public class RegisterBrokerBenchmark { private AtomicLong brokerIndex = new AtomicLong(0); @Setup - public void setup() throws InterruptedException { + public void setup() throws InterruptedException, JoranException { + LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); + JoranConfigurator configurator = new JoranConfigurator(); + configurator.setContext(lc); + lc.reset(); + //https://logback.qos.ch/manual/configuration.html + lc.setPackagingDataEnabled(false); + routeInfoManager = new RouteInfoManager(new NamesrvConfig(), null); // Init 4 clusters and 8 brokers in each cluster diff --git a/namesrv/src/test/resources/rmq.logback-test.xml b/namesrv/src/test/resources/rmq.logback-test.xml deleted file mode 100644 index c3ec0d1e81..0000000000 --- a/namesrv/src/test/resources/rmq.logback-test.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - %d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n - - - - - - - - - - - - - \ No newline at end of file diff --git a/openmessaging/pom.xml b/openmessaging/pom.xml index 9c05cc1087..e11f153784 100644 --- a/openmessaging/pom.xml +++ b/openmessaging/pom.xml @@ -16,9 +16,7 @@ limitations under the License. --> - + rocketmq-all org.apache.rocketmq @@ -41,7 +39,6 @@ ${project.groupId} rocketmq-client - ${project.version} \ No newline at end of file diff --git a/openmessaging/src/main/java/io/openmessaging/rocketmq/consumer/LocalMessageCache.java b/openmessaging/src/main/java/io/openmessaging/rocketmq/consumer/LocalMessageCache.java index 8e652be41d..d2fc678165 100644 --- a/openmessaging/src/main/java/io/openmessaging/rocketmq/consumer/LocalMessageCache.java +++ b/openmessaging/src/main/java/io/openmessaging/rocketmq/consumer/LocalMessageCache.java @@ -35,17 +35,15 @@ import org.apache.commons.lang3.reflect.FieldUtils; import org.apache.rocketmq.client.consumer.DefaultMQPullConsumer; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.client.impl.consumer.ProcessQueue; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.common.ThreadFactoryImpl; import org.apache.rocketmq.common.message.MessageAccessor; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.common.utils.ThreadUtils; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; class LocalMessageCache implements ServiceLifecycle { - private static final Logger log = LoggerFactory.getLogger(LocalMessageCache.class); - private final BlockingQueue consumeRequestCache; private final Map consumedRequest; private final ConcurrentHashMap pullOffsetTable; @@ -53,6 +51,8 @@ class LocalMessageCache implements ServiceLifecycle { private final ClientConfig clientConfig; private final ScheduledExecutorService cleanExpireMsgExecutors; + private final static InternalLogger log = ClientLogger.getLog(); + LocalMessageCache(final DefaultMQPullConsumer rocketmqPullConsumer, final ClientConfig clientConfig) { consumeRequestCache = new LinkedBlockingQueue<>(clientConfig.getRmqPullMessageCacheCapacity()); this.consumedRequest = new ConcurrentHashMap<>(); diff --git a/openmessaging/src/main/java/io/openmessaging/rocketmq/consumer/PullConsumerImpl.java b/openmessaging/src/main/java/io/openmessaging/rocketmq/consumer/PullConsumerImpl.java index a4c73dba24..945ecfac85 100644 --- a/openmessaging/src/main/java/io/openmessaging/rocketmq/consumer/PullConsumerImpl.java +++ b/openmessaging/src/main/java/io/openmessaging/rocketmq/consumer/PullConsumerImpl.java @@ -33,15 +33,13 @@ import org.apache.rocketmq.client.consumer.PullTaskCallback; import org.apache.rocketmq.client.consumer.PullTaskContext; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.client.impl.consumer.ProcessQueue; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageQueue; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.protocol.LanguageCode; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; public class PullConsumerImpl implements PullConsumer { - private static final Logger log = LoggerFactory.getLogger(PullConsumerImpl.class); - private final DefaultMQPullConsumer rocketmqPullConsumer; private final KeyValue properties; private boolean started = false; @@ -49,6 +47,8 @@ public class PullConsumerImpl implements PullConsumer { private final LocalMessageCache localMessageCache; private final ClientConfig clientConfig; + private final static InternalLogger log = ClientLogger.getLog(); + public PullConsumerImpl(final KeyValue properties) { this.properties = properties; this.clientConfig = BeanUtils.populate(properties, ClientConfig.class); diff --git a/openmessaging/src/main/java/io/openmessaging/rocketmq/producer/AbstractOMSProducer.java b/openmessaging/src/main/java/io/openmessaging/rocketmq/producer/AbstractOMSProducer.java index e03246142c..a791498a6e 100644 --- a/openmessaging/src/main/java/io/openmessaging/rocketmq/producer/AbstractOMSProducer.java +++ b/openmessaging/src/main/java/io/openmessaging/rocketmq/producer/AbstractOMSProducer.java @@ -31,7 +31,9 @@ import io.openmessaging.rocketmq.domain.BytesMessageImpl; import io.openmessaging.rocketmq.utils.BeanUtils; import org.apache.rocketmq.client.exception.MQBrokerException; import org.apache.rocketmq.client.exception.MQClientException; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.client.producer.DefaultMQProducer; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.exception.RemotingConnectException; import org.apache.rocketmq.remoting.exception.RemotingTimeoutException; import org.apache.rocketmq.remoting.protocol.LanguageCode; @@ -40,6 +42,7 @@ import org.apache.rocketmq.remoting.protocol.ResponseCode; import static io.openmessaging.rocketmq.utils.OMSUtil.buildInstanceName; abstract class AbstractOMSProducer implements ServiceLifecycle, MessageFactory { + final static InternalLogger log = ClientLogger.getLog(); final KeyValue properties; final DefaultMQProducer rocketmqProducer; private boolean started = false; diff --git a/openmessaging/src/main/java/io/openmessaging/rocketmq/producer/ProducerImpl.java b/openmessaging/src/main/java/io/openmessaging/rocketmq/producer/ProducerImpl.java index 02ec119efc..c2b6d3e3c7 100644 --- a/openmessaging/src/main/java/io/openmessaging/rocketmq/producer/ProducerImpl.java +++ b/openmessaging/src/main/java/io/openmessaging/rocketmq/producer/ProducerImpl.java @@ -30,15 +30,11 @@ import io.openmessaging.rocketmq.promise.DefaultPromise; import io.openmessaging.rocketmq.utils.OMSUtil; import org.apache.rocketmq.client.producer.SendCallback; import org.apache.rocketmq.client.producer.SendStatus; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import static io.openmessaging.rocketmq.utils.OMSUtil.msgConvert; public class ProducerImpl extends AbstractOMSProducer implements Producer { - private static final Logger log = LoggerFactory.getLogger(ProducerImpl.class); - public ProducerImpl(final KeyValue properties) { super(properties); } diff --git a/openmessaging/src/main/java/io/openmessaging/rocketmq/promise/DefaultPromise.java b/openmessaging/src/main/java/io/openmessaging/rocketmq/promise/DefaultPromise.java index 9499d4f331..feee13f1a7 100644 --- a/openmessaging/src/main/java/io/openmessaging/rocketmq/promise/DefaultPromise.java +++ b/openmessaging/src/main/java/io/openmessaging/rocketmq/promise/DefaultPromise.java @@ -19,14 +19,14 @@ package io.openmessaging.rocketmq.promise; import io.openmessaging.Promise; import io.openmessaging.FutureListener; import io.openmessaging.exception.OMSRuntimeException; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import java.util.ArrayList; import java.util.List; public class DefaultPromise implements Promise { - private static final Logger LOG = LoggerFactory.getLogger(DefaultPromise.class); + private static final InternalLogger LOG = InternalLoggerFactory.getLogger(DefaultPromise.class); private final Object lock = new Object(); private volatile FutureState state = FutureState.DOING; private V result = null; diff --git a/openmessaging/src/main/java/io/openmessaging/rocketmq/utils/BeanUtils.java b/openmessaging/src/main/java/io/openmessaging/rocketmq/utils/BeanUtils.java index 11183ff97d..73a2113586 100644 --- a/openmessaging/src/main/java/io/openmessaging/rocketmq/utils/BeanUtils.java +++ b/openmessaging/src/main/java/io/openmessaging/rocketmq/utils/BeanUtils.java @@ -25,11 +25,11 @@ import java.util.Map.Entry; import java.util.Properties; import java.util.Set; import org.apache.commons.lang3.StringUtils; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.client.log.ClientLogger; +import org.apache.rocketmq.logging.InternalLogger; public final class BeanUtils { - private static final Logger log = LoggerFactory.getLogger(BeanUtils.class); + static InternalLogger log = ClientLogger.getLog(); /** * Maps primitive {@code Class}es to their corresponding wrapper {@code Class}. diff --git a/openmessaging/src/test/resources/rmq.logback-test.xml b/openmessaging/src/test/resources/rmq.logback-test.xml deleted file mode 100644 index c3ec0d1e81..0000000000 --- a/openmessaging/src/test/resources/rmq.logback-test.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - %d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n - - - - - - - - - - - - - \ No newline at end of file diff --git a/pom.xml b/pom.xml index cfb7f40ca3..cc6baa4430 100644 --- a/pom.xml +++ b/pom.xml @@ -101,6 +101,8 @@ 1.8 1.8 + 1.7.7 + 1.2.10 1.5.0 4.1.65.Final 1.69 @@ -110,11 +112,11 @@ 3.12.0 2.7 31.0.1-jre - 2.9.0 0.3.1-alpha + 1.2.17 1.32 1.13 - 1.0.3 + 2.17.1 1.7 1.5.2-2 1.8.0 @@ -141,7 +143,6 @@ 3.10.0 4.1.0 0.30 - 1.7.33 2.2 @@ -182,6 +183,7 @@ test distribution openmessaging + logging acl example container @@ -516,6 +518,11 @@ + + ${project.groupId} + rocketmq-controller + ${project.version} + ${project.groupId} rocketmq-proto @@ -535,6 +542,96 @@ + + ${project.groupId} + rocketmq-client + ${project.version} + + + ${project.groupId} + rocketmq-broker + ${project.version} + + + ${project.groupId} + rocketmq-container + ${project.version} + + + ${project.groupId} + rocketmq-common + ${project.version} + + + ${project.groupId} + rocketmq-store + ${project.version} + + + ${project.groupId} + rocketmq-namesrv + ${project.version} + + + ${project.groupId} + rocketmq-tools + ${project.version} + + + ${project.groupId} + rocketmq-remoting + ${project.version} + + + ${project.groupId} + rocketmq-logging + ${project.version} + + + ${project.groupId} + rocketmq-test + ${project.version} + + + ${project.groupId} + rocketmq-srvutil + ${project.version} + + + org.apache.rocketmq + rocketmq-filter + ${project.version} + + + ${project.groupId} + rocketmq-acl + ${project.version} + + + ${project.groupId} + rocketmq-openmessaging + ${project.version} + + + ${project.groupId} + rocketmq-example + ${project.version} + + + ${project.groupId} + rocketmq-proxy + ${project.version} + + + org.slf4j + slf4j-api + ${slf4j.version} + + + ch.qos.logback + logback-classic + ${logback.version} + commons-cli commons-cli @@ -588,11 +685,6 @@ - - com.google.code - gson - ${gson.version} - com.googlecode.concurrentlinkedhashmap concurrentlinkedhashmap-lru @@ -603,6 +695,11 @@ openmessaging-api ${openmessaging.version} + + log4j + log4j + ${log4j.version} + org.yaml snakeyaml @@ -614,14 +711,14 @@ ${commons-codec.version} - io.github.aliyun-mq - rocketmq-slf4j-api - ${rocketmq-logging.version} + org.apache.logging.log4j + log4j-core + ${logging-log4j.version} - io.github.aliyun-mq - rocketmq-logback-classic - ${rocketmq-logging.version} + org.apache.logging.log4j + log4j-slf4j-impl + ${logging-log4j.version} commons-validator @@ -687,12 +784,6 @@ io.openmessaging.storage dledger ${dleger.version} - - - org.slf4j - slf4j-api - - org.apache.tomcat @@ -790,12 +881,6 @@ com.conversantmedia disruptor ${disruptor.version} - - - org.slf4j - slf4j-api - - com.github.ben-manes.caffeine @@ -816,13 +901,6 @@ test - - org.slf4j - slf4j-api - ${slf4j-api.version} - test - - com.squareup.okio okio-jvm diff --git a/proxy/BUILD.bazel b/proxy/BUILD.bazel index a40772354e..929b8c01d9 100644 --- a/proxy/BUILD.bazel +++ b/proxy/BUILD.bazel @@ -25,6 +25,7 @@ java_library( "//broker", "//client", "//common", + "//logging", "//remoting", "//srvutil", "@maven//:ch_qos_logback_logback_classic", @@ -58,7 +59,6 @@ java_library( "@maven//:org_checkerframework_checker_qual", "@maven//:org_lz4_lz4_java", "@maven//:org_slf4j_slf4j_api", - "@maven//:io_github_aliyun_mq_rocketmq_slf4j_api", ], ) @@ -104,7 +104,7 @@ java_library( GenTestRules( name = "GeneratedTestRules", exclude_tests = [ - "src/test/java/org/apache/rocketmq/proxy/config/InitConfigTest", + "src/test/java/org/apache/rocketmq/proxy/config/InitConfigAndLoggerTest", ], test_files = glob(["src/test/java/**/*Test.java"]), deps = [ diff --git a/proxy/pom.xml b/proxy/pom.xml index d5d8e9278a..3390a560e6 100644 --- a/proxy/pom.xml +++ b/proxy/pom.xml @@ -16,9 +16,7 @@ ~ limitations under the License. --> - + rocketmq-all org.apache.rocketmq @@ -44,17 +42,14 @@ org.apache.rocketmq rocketmq-broker - ${project.version} org.apache.rocketmq rocketmq-common - ${project.version} org.apache.rocketmq rocketmq-client - ${project.version} io.grpc @@ -81,12 +76,12 @@ commons-lang3 - io.github.aliyun-mq - rocketmq-slf4j-api + org.slf4j + slf4j-api - io.github.aliyun-mq - rocketmq-logback-classic + ch.qos.logback + logback-classic com.github.ben-manes.caffeine 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 b135cf3fc2..8c96cdc9d6 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/ProxyStartup.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/ProxyStartup.java @@ -17,6 +17,9 @@ package org.apache.rocketmq.proxy; +import ch.qos.logback.classic.LoggerContext; +import ch.qos.logback.classic.joran.JoranConfigurator; +import ch.qos.logback.core.joran.spi.JoranException; import com.google.common.collect.Lists; import io.grpc.protobuf.services.ChannelzService; import io.grpc.protobuf.services.ProtoReflectionService; @@ -31,11 +34,12 @@ import org.apache.commons.cli.Options; import org.apache.commons.lang3.StringUtils; import org.apache.rocketmq.broker.BrokerController; import org.apache.rocketmq.broker.BrokerStartup; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.thread.ThreadPoolMonitor; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.proxy.common.AbstractStartAndShutdown; import org.apache.rocketmq.proxy.common.StartAndShutdown; import org.apache.rocketmq.proxy.config.Configuration; @@ -49,9 +53,10 @@ import org.apache.rocketmq.proxy.processor.DefaultMessagingProcessor; import org.apache.rocketmq.proxy.processor.MessagingProcessor; import org.apache.rocketmq.remoting.protocol.RemotingCommand; import org.apache.rocketmq.srvutil.ServerUtil; +import org.slf4j.LoggerFactory; public class ProxyStartup { - private static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); private static final ProxyStartAndShutdown PROXY_START_AND_SHUTDOWN = new ProxyStartAndShutdown(); private static class ProxyStartAndShutdown extends AbstractStartAndShutdown { @@ -65,7 +70,7 @@ public class ProxyStartup { try { // parse argument from command line CommandLineArgument commandLineArgument = parseCommandLineArgument(args); - initConfiguration(commandLineArgument); + initLogAndConfiguration(commandLineArgument); // init thread pool monitor for proxy. initThreadPoolMonitor(); @@ -106,11 +111,12 @@ public class ProxyStartup { log.info(new Date() + " rocketmq-proxy startup successfully"); } - protected static void initConfiguration(CommandLineArgument commandLineArgument) throws Exception { + protected static void initLogAndConfiguration(CommandLineArgument commandLineArgument) throws Exception { if (StringUtils.isNotBlank(commandLineArgument.getProxyConfigPath())) { System.setProperty(Configuration.CONFIG_PATH_PROPERTY, commandLineArgument.getProxyConfigPath()); } ConfigurationManager.initEnv(); + initLogger(); ConfigurationManager.intConfig(); setConfigFromCommandLineArgument(commandLineArgument); } @@ -229,10 +235,29 @@ public class ProxyStartup { public static void initThreadPoolMonitor() { ProxyConfig config = ConfigurationManager.getProxyConfig(); ThreadPoolMonitor.config( - LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME), - LoggerFactory.getLogger(LoggerName.PROXY_WATER_MARK_LOGGER_NAME), + InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME), + InternalLoggerFactory.getLogger(LoggerName.PROXY_WATER_MARK_LOGGER_NAME), config.isEnablePrintJstack(), config.getPrintJstackInMillis(), config.getPrintThreadPoolStatusInMillis()); ThreadPoolMonitor.init(); } + + public static void initLogger() throws JoranException { + System.setProperty("brokerLogDir", ""); + System.setProperty(ClientLogger.CLIENT_LOG_USESLF4J, "true"); + + LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); + JoranConfigurator configurator = new JoranConfigurator(); + configurator.setContext(lc); + lc.reset(); + //https://logback.qos.ch/manual/configuration.html + lc.setPackagingDataEnabled(false); + final String home = ConfigurationManager.getProxyHome(); + if (StringUtils.isEmpty(home)) { + System.out.printf("Please set the %s variable or %s variable in your environment to match the location of the RocketMQ installation%n", + MixAll.ROCKETMQ_HOME_ENV, ConfigurationManager.RMQ_PROXY_HOME); + System.exit(-1); + } + configurator.doConfigure(home + "/conf/logback_proxy.xml"); + } } diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/config/Configuration.java b/proxy/src/main/java/org/apache/rocketmq/proxy/config/Configuration.java index 327d5f499a..9c1ff811b4 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/config/Configuration.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/config/Configuration.java @@ -28,8 +28,8 @@ import java.nio.file.Files; import java.util.concurrent.atomic.AtomicReference; import org.apache.commons.lang3.StringUtils; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class Configuration { private final static Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/config/ProxyConfig.java b/proxy/src/main/java/org/apache/rocketmq/proxy/config/ProxyConfig.java index 308ac34d6b..383f819fc0 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/config/ProxyConfig.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/config/ProxyConfig.java @@ -32,8 +32,8 @@ import org.apache.rocketmq.common.BrokerConfig; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.proxy.ProxyMode; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class ProxyConfig implements ConfigFile { private final static Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/GrpcServer.java b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/GrpcServer.java index 09028bec65..d663a88f6d 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/GrpcServer.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/GrpcServer.java @@ -19,12 +19,12 @@ package org.apache.rocketmq.proxy.grpc; import java.util.concurrent.TimeUnit; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.proxy.common.StartAndShutdown; public class GrpcServer implements StartAndShutdown { - private static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); private final io.grpc.Server server; diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/GrpcServerBuilder.java b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/GrpcServerBuilder.java index c4e637dc63..bb3b2b647e 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/GrpcServerBuilder.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/GrpcServerBuilder.java @@ -40,8 +40,8 @@ import javax.net.ssl.SSLException; import org.apache.rocketmq.acl.AccessValidator; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.utils.ServiceProvider; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.proxy.config.ConfigurationManager; import org.apache.rocketmq.proxy.config.ProxyConfig; import org.apache.rocketmq.proxy.grpc.interceptor.AuthenticationInterceptor; @@ -50,7 +50,7 @@ import org.apache.rocketmq.proxy.grpc.interceptor.GlobalExceptionInterceptor; import org.apache.rocketmq.proxy.grpc.interceptor.HeaderInterceptor; public class GrpcServerBuilder { - private static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); protected NettyServerBuilder serverBuilder; public static GrpcServerBuilder newBuilder(ThreadPoolExecutor executor, int port) { diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/interceptor/GlobalExceptionInterceptor.java b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/interceptor/GlobalExceptionInterceptor.java index c884c998d4..0c34b15743 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/interceptor/GlobalExceptionInterceptor.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/interceptor/GlobalExceptionInterceptor.java @@ -26,11 +26,11 @@ import io.grpc.ServerInterceptor; import io.grpc.Status; import io.grpc.StatusRuntimeException; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public class GlobalExceptionInterceptor implements ServerInterceptor { - private static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); @Override public ServerCall.Listener interceptCall( diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/AbstractMessingActivity.java b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/AbstractMessingActivity.java index 3d79d0efed..13b855768a 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/AbstractMessingActivity.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/AbstractMessingActivity.java @@ -18,15 +18,15 @@ package org.apache.rocketmq.proxy.grpc.v2; import apache.rocketmq.v2.Resource; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.proxy.grpc.v2.channel.GrpcChannelManager; import org.apache.rocketmq.proxy.grpc.v2.common.GrpcClientSettingsManager; import org.apache.rocketmq.proxy.grpc.v2.common.GrpcValidator; import org.apache.rocketmq.proxy.processor.MessagingProcessor; public abstract class AbstractMessingActivity { - protected static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + protected static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); protected final MessagingProcessor messagingProcessor; protected final GrpcClientSettingsManager grpcClientSettingsManager; protected final GrpcChannelManager grpcChannelManager; diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/DefaultGrpcMessingActivity.java b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/DefaultGrpcMessingActivity.java index edfb1c5f9a..32ddefda97 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/DefaultGrpcMessingActivity.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/DefaultGrpcMessingActivity.java @@ -40,8 +40,8 @@ import apache.rocketmq.v2.TelemetryCommand; import io.grpc.stub.StreamObserver; import java.util.concurrent.CompletableFuture; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.proxy.common.AbstractStartAndShutdown; import org.apache.rocketmq.proxy.common.ProxyContext; import org.apache.rocketmq.proxy.grpc.v2.channel.GrpcChannelManager; @@ -58,7 +58,7 @@ import org.apache.rocketmq.proxy.processor.MessagingProcessor; import org.apache.rocketmq.proxy.processor.ReceiptHandleProcessor; public class DefaultGrpcMessingActivity extends AbstractStartAndShutdown implements GrpcMessingActivity { - private static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); protected GrpcClientSettingsManager grpcClientSettingsManager; protected GrpcChannelManager grpcChannelManager; diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/GrpcMessagingApplication.java b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/GrpcMessagingApplication.java index 5c3acb3963..9c940dee76 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/GrpcMessagingApplication.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/GrpcMessagingApplication.java @@ -61,8 +61,8 @@ import org.apache.rocketmq.proxy.grpc.v2.common.GrpcProxyException; import org.apache.rocketmq.proxy.grpc.v2.common.ResponseBuilder; import org.apache.rocketmq.proxy.grpc.v2.common.ResponseWriter; import org.apache.rocketmq.proxy.processor.MessagingProcessor; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class GrpcMessagingApplication extends MessagingServiceGrpc.MessagingServiceImplBase implements StartAndShutdown { private final static Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/channel/GrpcClientChannel.java b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/channel/GrpcClientChannel.java index 8c43c4992f..cc2e77ee05 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/channel/GrpcClientChannel.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/channel/GrpcClientChannel.java @@ -30,8 +30,8 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.atomic.AtomicReference; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.message.MessageExt; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.proxy.common.ProxyContext; import org.apache.rocketmq.proxy.grpc.v2.common.GrpcConverter; import org.apache.rocketmq.proxy.service.relay.ProxyChannel; @@ -46,7 +46,7 @@ import org.apache.rocketmq.remoting.protocol.header.ConsumeMessageDirectlyResult import org.apache.rocketmq.remoting.protocol.header.GetConsumerRunningInfoRequestHeader; public class GrpcClientChannel extends ProxyChannel { - private static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); private final GrpcChannelManager grpcChannelManager; diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/client/ClientActivity.java b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/client/ClientActivity.java index 51fc764ef8..9f04ccfa70 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/client/ClientActivity.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/client/ClientActivity.java @@ -46,8 +46,8 @@ import org.apache.rocketmq.common.MQVersion; import org.apache.rocketmq.common.attribute.TopicMessageType; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.consumer.ConsumeFromWhere; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.proxy.common.ProxyContext; import org.apache.rocketmq.proxy.grpc.v2.AbstractMessingActivity; import org.apache.rocketmq.proxy.grpc.v2.channel.GrpcChannelManager; @@ -70,7 +70,7 @@ import org.apache.rocketmq.remoting.protocol.heartbeat.SubscriptionData; public class ClientActivity extends AbstractMessingActivity { - private static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); public ClientActivity(MessagingProcessor messagingProcessor, GrpcClientSettingsManager grpcClientSettingsManager, diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/common/GrpcConverter.java b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/common/GrpcConverter.java index 8c9193b653..c818be7c44 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/common/GrpcConverter.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/common/GrpcConverter.java @@ -43,12 +43,12 @@ import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.sysflag.MessageSysFlag; import org.apache.rocketmq.common.utils.BinaryUtil; import org.apache.rocketmq.common.utils.NetworkUtil; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.NamespaceUtil; public class GrpcConverter { - private static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); protected static final Object INSTANCE_CREATE_LOCK = new Object(); protected static volatile GrpcConverter instance; diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/common/GrpcValidator.java b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/common/GrpcValidator.java index 4c0662b67a..0ada96b864 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/common/GrpcValidator.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/common/GrpcValidator.java @@ -26,12 +26,12 @@ import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.topic.TopicValidator; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.proxy.config.ConfigurationManager; public class GrpcValidator { - protected static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + protected static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); protected static final Object INSTANCE_CREATE_LOCK = new Object(); protected static volatile GrpcValidator instance; diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/common/ResponseBuilder.java b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/common/ResponseBuilder.java index 2a2256ad33..c591086d95 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/common/ResponseBuilder.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/common/ResponseBuilder.java @@ -25,8 +25,8 @@ import org.apache.rocketmq.client.common.ClientErrorCode; import org.apache.rocketmq.client.exception.MQBrokerException; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.proxy.common.ProxyException; import org.apache.rocketmq.proxy.common.utils.ExceptionUtils; import org.apache.rocketmq.proxy.service.route.TopicRouteHelper; @@ -35,7 +35,7 @@ import org.apache.rocketmq.remoting.protocol.ResponseCode; public class ResponseBuilder { - private static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); protected static final Map RESPONSE_CODE_MAPPING = new ConcurrentHashMap<>(); protected static final Object INSTANCE_CREATE_LOCK = new Object(); diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/common/ResponseWriter.java b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/common/ResponseWriter.java index c2842340b6..43ddf99992 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/common/ResponseWriter.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/common/ResponseWriter.java @@ -22,11 +22,11 @@ import io.grpc.StatusRuntimeException; import io.grpc.stub.ServerCallStreamObserver; import io.grpc.stub.StreamObserver; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public class ResponseWriter { - private static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); protected static final Object INSTANCE_CREATE_LOCK = new Object(); protected static volatile ResponseWriter instance; diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/consumer/ReceiveMessageResponseStreamWriter.java b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/consumer/ReceiveMessageResponseStreamWriter.java index e88f8cf60b..7faf1b41c6 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/consumer/ReceiveMessageResponseStreamWriter.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/consumer/ReceiveMessageResponseStreamWriter.java @@ -31,8 +31,8 @@ import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.consumer.ReceiptHandle; import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.message.MessageExt; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.proxy.common.ProxyContext; import org.apache.rocketmq.proxy.grpc.v2.common.GrpcConverter; import org.apache.rocketmq.proxy.grpc.v2.common.ResponseBuilder; @@ -40,7 +40,7 @@ import org.apache.rocketmq.proxy.grpc.v2.common.ResponseWriter; import org.apache.rocketmq.proxy.processor.MessagingProcessor; public class ReceiveMessageResponseStreamWriter { - private static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); protected static final long NACK_INVISIBLE_TIME = Duration.ofSeconds(1).toMillis(); protected final MessagingProcessor messagingProcessor; diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/metrics/ProxyMetricsManager.java b/proxy/src/main/java/org/apache/rocketmq/proxy/metrics/ProxyMetricsManager.java index 31bb8bf61d..eac438de10 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/metrics/ProxyMetricsManager.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/metrics/ProxyMetricsManager.java @@ -42,8 +42,8 @@ import org.apache.rocketmq.common.BrokerConfig; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.proxy.common.StartAndShutdown; import org.apache.rocketmq.proxy.config.ProxyConfig; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import static org.apache.rocketmq.broker.metrics.BrokerMetricsConstant.AGGREGATION_DELTA; import static org.apache.rocketmq.broker.metrics.BrokerMetricsConstant.LABEL_AGGREGATION; diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/processor/ConsumerProcessor.java b/proxy/src/main/java/org/apache/rocketmq/proxy/processor/ConsumerProcessor.java index 19bc7449dd..f37238f693 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/processor/ConsumerProcessor.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/processor/ConsumerProcessor.java @@ -37,8 +37,8 @@ import org.apache.rocketmq.common.message.MessageAccessor; import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.proxy.common.ProxyContext; import org.apache.rocketmq.proxy.common.ProxyException; import org.apache.rocketmq.proxy.common.ProxyExceptionCode; @@ -59,7 +59,7 @@ import org.apache.rocketmq.remoting.protocol.header.UpdateConsumerOffsetRequestH import org.apache.rocketmq.remoting.protocol.heartbeat.SubscriptionData; public class ConsumerProcessor extends AbstractProcessor { - private static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); private final ExecutorService executor; diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/processor/ProducerProcessor.java b/proxy/src/main/java/org/apache/rocketmq/proxy/processor/ProducerProcessor.java index 6d3f674a40..3af8df8af9 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/processor/ProducerProcessor.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/processor/ProducerProcessor.java @@ -33,8 +33,8 @@ import org.apache.rocketmq.common.message.MessageDecoder; import org.apache.rocketmq.common.message.MessageId; import org.apache.rocketmq.common.sysflag.MessageSysFlag; import org.apache.rocketmq.common.topic.TopicValidator; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.proxy.common.ProxyContext; import org.apache.rocketmq.proxy.common.ProxyException; import org.apache.rocketmq.proxy.common.ProxyExceptionCode; @@ -51,7 +51,7 @@ import org.apache.rocketmq.remoting.protocol.header.ConsumerSendMsgBackRequestHe import org.apache.rocketmq.remoting.protocol.header.SendMessageRequestHeader; public class ProducerProcessor extends AbstractProcessor { - private static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); private final ExecutorService executor; private final TopicMessageTypeValidator topicMessageTypeValidator; diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/processor/ReceiptHandleProcessor.java b/proxy/src/main/java/org/apache/rocketmq/proxy/processor/ReceiptHandleProcessor.java index 2557b23699..baedb7e860 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/processor/ReceiptHandleProcessor.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/processor/ReceiptHandleProcessor.java @@ -52,8 +52,8 @@ import org.apache.rocketmq.proxy.config.ConfigurationManager; import org.apache.rocketmq.proxy.config.ProxyConfig; import org.apache.rocketmq.remoting.protocol.subscription.RetryPolicy; import org.apache.rocketmq.remoting.protocol.subscription.SubscriptionGroupConfig; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class ReceiptHandleProcessor extends AbstractStartAndShutdown { protected final static Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/service/ClusterServiceManager.java b/proxy/src/main/java/org/apache/rocketmq/proxy/service/ClusterServiceManager.java index 53e9a754b5..f0e0c98fb5 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/service/ClusterServiceManager.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/service/ClusterServiceManager.java @@ -27,8 +27,8 @@ import org.apache.rocketmq.broker.client.ProducerChangeListener; import org.apache.rocketmq.broker.client.ProducerGroupEvent; import org.apache.rocketmq.broker.client.ProducerManager; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.proxy.common.AbstractStartAndShutdown; import org.apache.rocketmq.proxy.config.ConfigurationManager; import org.apache.rocketmq.proxy.config.ProxyConfig; @@ -48,7 +48,7 @@ import org.apache.rocketmq.proxy.service.transaction.TransactionService; import org.apache.rocketmq.remoting.RPCHook; public class ClusterServiceManager extends AbstractStartAndShutdown implements ServiceManager { - private static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); protected ClusterTransactionService clusterTransactionService; protected ProducerManager producerManager; diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/service/channel/ChannelManager.java b/proxy/src/main/java/org/apache/rocketmq/proxy/service/channel/ChannelManager.java index cad98514d9..283cd823d5 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/service/channel/ChannelManager.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/service/channel/ChannelManager.java @@ -25,8 +25,8 @@ import java.util.concurrent.ConcurrentMap; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.utils.ConcurrentHashMapUtils; import org.apache.rocketmq.proxy.common.ProxyContext; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class ChannelManager { private static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/service/channel/SimpleChannel.java b/proxy/src/main/java/org/apache/rocketmq/proxy/service/channel/SimpleChannel.java index e64c2d499b..35e817b5a2 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/service/channel/SimpleChannel.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/service/channel/SimpleChannel.java @@ -32,8 +32,8 @@ import io.netty.util.concurrent.GlobalEventExecutor; import java.net.InetSocketAddress; import java.net.SocketAddress; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; /** * SimpleChannel is used to handle writeAndFlush situation in processor @@ -42,7 +42,7 @@ import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; * @see io.netty.channel.Channel#writeAndFlush */ public class SimpleChannel extends AbstractChannel { - protected static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + protected static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); protected final String remoteAddress; protected final String localAddress; diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/service/message/LocalMessageService.java b/proxy/src/main/java/org/apache/rocketmq/proxy/service/message/LocalMessageService.java index b746467d9b..24907eff34 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/service/message/LocalMessageService.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/service/message/LocalMessageService.java @@ -71,8 +71,8 @@ import org.apache.rocketmq.remoting.protocol.header.QueryConsumerOffsetRequestHe import org.apache.rocketmq.remoting.protocol.header.SendMessageRequestHeader; import org.apache.rocketmq.remoting.protocol.header.SendMessageResponseHeader; import org.apache.rocketmq.remoting.protocol.header.UpdateConsumerOffsetRequestHeader; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class LocalMessageService implements MessageService { private static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/service/metadata/ClusterMetadataService.java b/proxy/src/main/java/org/apache/rocketmq/proxy/service/metadata/ClusterMetadataService.java index f5f15883b1..3290f820ea 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/service/metadata/ClusterMetadataService.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/service/metadata/ClusterMetadataService.java @@ -25,8 +25,8 @@ import java.util.concurrent.TimeUnit; import org.apache.rocketmq.common.attribute.TopicMessageType; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.thread.ThreadPoolMonitor; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.proxy.common.AbstractCacheLoader; import org.apache.rocketmq.proxy.common.AbstractStartAndShutdown; import org.apache.rocketmq.proxy.config.ConfigurationManager; @@ -39,7 +39,7 @@ import org.apache.rocketmq.remoting.protocol.statictopic.TopicConfigAndQueueMapp import org.apache.rocketmq.remoting.protocol.subscription.SubscriptionGroupConfig; public class ClusterMetadataService extends AbstractStartAndShutdown implements MetadataService { - protected static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + protected static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); private static final long DEFAULT_TIMEOUT = 3000; private final TopicRouteService topicRouteService; diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/service/mqclient/MQClientAPIExt.java b/proxy/src/main/java/org/apache/rocketmq/proxy/service/mqclient/MQClientAPIExt.java index 2845d03425..49993102b5 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/service/mqclient/MQClientAPIExt.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/service/mqclient/MQClientAPIExt.java @@ -44,8 +44,8 @@ import org.apache.rocketmq.common.message.MessageClientIDSetter; import org.apache.rocketmq.common.message.MessageDecoder; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.RPCHook; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.netty.NettyClientConfig; @@ -77,7 +77,7 @@ import org.apache.rocketmq.remoting.protocol.header.UpdateConsumerOffsetRequestH import org.apache.rocketmq.remoting.protocol.heartbeat.HeartbeatData; public class MQClientAPIExt extends MQClientAPIImpl { - private static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); private final ClientConfig clientConfig; diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/service/mqclient/ProxyClientRemotingProcessor.java b/proxy/src/main/java/org/apache/rocketmq/proxy/service/mqclient/ProxyClientRemotingProcessor.java index 600ad54183..492ce049f9 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/service/mqclient/ProxyClientRemotingProcessor.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/service/mqclient/ProxyClientRemotingProcessor.java @@ -26,8 +26,8 @@ import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.message.MessageDecoder; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.utils.NetworkUtil; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.proxy.common.utils.ProxyUtils; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.protocol.RemotingCommand; @@ -35,7 +35,7 @@ import org.apache.rocketmq.remoting.protocol.RequestCode; import org.apache.rocketmq.remoting.protocol.header.CheckTransactionStateRequestHeader; public class ProxyClientRemotingProcessor extends ClientRemotingProcessor { - private static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); private final ProducerManager producerManager; public ProxyClientRemotingProcessor(ProducerManager producerManager) { diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/service/relay/ProxyChannel.java b/proxy/src/main/java/org/apache/rocketmq/proxy/service/relay/ProxyChannel.java index 440289d719..6e69b0a8ac 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/service/relay/ProxyChannel.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/service/relay/ProxyChannel.java @@ -34,8 +34,8 @@ import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.message.MessageDecoder; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.utils.NetworkUtil; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.proxy.common.ProxyContext; import org.apache.rocketmq.proxy.service.channel.SimpleChannel; import org.apache.rocketmq.proxy.service.transaction.TransactionData; @@ -48,7 +48,7 @@ import org.apache.rocketmq.remoting.protocol.header.ConsumeMessageDirectlyResult import org.apache.rocketmq.remoting.protocol.header.GetConsumerRunningInfoRequestHeader; public abstract class ProxyChannel extends SimpleChannel { - private static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); protected final SocketAddress remoteSocketAddress; protected final SocketAddress localSocketAddress; diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/service/route/TopicRouteService.java b/proxy/src/main/java/org/apache/rocketmq/proxy/service/route/TopicRouteService.java index 085007329b..4a46f35eee 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/service/route/TopicRouteService.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/service/route/TopicRouteService.java @@ -30,8 +30,8 @@ import org.apache.rocketmq.common.ThreadFactoryImpl; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.common.thread.ThreadPoolMonitor; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.proxy.common.AbstractCacheLoader; import org.apache.rocketmq.proxy.common.AbstractStartAndShutdown; import org.apache.rocketmq.proxy.common.Address; @@ -44,7 +44,7 @@ import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; public abstract class TopicRouteService extends AbstractStartAndShutdown { - private static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); private final MQClientAPIFactory mqClientAPIFactory; diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/service/transaction/ClusterTransactionService.java b/proxy/src/main/java/org/apache/rocketmq/proxy/service/transaction/ClusterTransactionService.java index 5e76f27199..fed31220c2 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/service/transaction/ClusterTransactionService.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/service/transaction/ClusterTransactionService.java @@ -34,8 +34,8 @@ import org.apache.rocketmq.broker.client.ProducerManager; import org.apache.rocketmq.common.ServiceThread; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.thread.ThreadPoolMonitor; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.proxy.config.ConfigurationManager; import org.apache.rocketmq.proxy.config.ProxyConfig; import org.apache.rocketmq.proxy.service.mqclient.MQClientAPIFactory; @@ -47,7 +47,7 @@ import org.apache.rocketmq.remoting.protocol.heartbeat.ProducerData; import org.apache.rocketmq.remoting.protocol.route.BrokerData; public class ClusterTransactionService extends AbstractTransactionService { - private static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); private static final String TRANS_HEARTBEAT_CLIENT_ID = "rmq-proxy-producer-client"; diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/service/transaction/TransactionDataManager.java b/proxy/src/main/java/org/apache/rocketmq/proxy/service/transaction/TransactionDataManager.java index 9cd9abb2c8..2c19b858b1 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/service/transaction/TransactionDataManager.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/service/transaction/TransactionDataManager.java @@ -29,13 +29,13 @@ import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicReference; import org.apache.rocketmq.common.ServiceThread; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.proxy.common.StartAndShutdown; import org.apache.rocketmq.proxy.config.ConfigurationManager; public class TransactionDataManager implements StartAndShutdown { - private static final Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME); protected final AtomicLong maxTransactionDataExpireTime = new AtomicLong(System.currentTimeMillis()); protected final Map> transactionIdDataMap = new ConcurrentHashMap<>(); diff --git a/proxy/src/test/java/org/apache/rocketmq/proxy/ProxyStartupTest.java b/proxy/src/test/java/org/apache/rocketmq/proxy/ProxyStartupTest.java index 58213df4ad..f857ef6da0 100644 --- a/proxy/src/test/java/org/apache/rocketmq/proxy/ProxyStartupTest.java +++ b/proxy/src/test/java/org/apache/rocketmq/proxy/ProxyStartupTest.java @@ -33,6 +33,7 @@ import java.util.UUID; import org.apache.rocketmq.broker.BrokerController; import org.apache.rocketmq.broker.BrokerStartup; import org.apache.rocketmq.broker.metrics.BrokerMetricsManager; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.proxy.config.Configuration; import org.apache.rocketmq.proxy.config.ConfigurationManager; @@ -135,6 +136,7 @@ public class ProxyStartupTest { System.clearProperty(RMQ_PROXY_HOME); System.clearProperty(MixAll.NAMESRV_ADDR_PROPERTY); System.clearProperty(Configuration.CONFIG_PATH_PROPERTY); + System.clearProperty(ClientLogger.CLIENT_LOG_USESLF4J); recursiveDelete(proxyHome); } @@ -160,7 +162,7 @@ public class ProxyStartupTest { assertEquals(proxyMode, commandLineArgument.getProxyMode()); assertEquals(namesrvAddr, commandLineArgument.getNamesrvAddr()); - ProxyStartup.initConfiguration(commandLineArgument); + ProxyStartup.initLogAndConfiguration(commandLineArgument); ProxyConfig config = ConfigurationManager.getProxyConfig(); assertEquals(brokerConfigPath, config.getBrokerConfigPath()); @@ -175,7 +177,7 @@ public class ProxyStartupTest { CommandLineArgument commandLineArgument = ProxyStartup.parseCommandLineArgument(new String[] { "-pm", "local" }); - ProxyStartup.initConfiguration(commandLineArgument); + ProxyStartup.initLogAndConfiguration(commandLineArgument); ProxyConfig config = ConfigurationManager.getProxyConfig(); assertEquals(namesrvAddr, config.getNamesrvAddr()); @@ -220,7 +222,7 @@ public class ProxyStartupTest { "-pm", "local", "-pc", configFilePath.toAbsolutePath().toString() }); - ProxyStartup.initConfiguration(commandLineArgument); + ProxyStartup.initLogAndConfiguration(commandLineArgument); ProxyConfig config = ConfigurationManager.getProxyConfig(); assertEquals(namesrvAddr, config.getNamesrvAddr()); @@ -243,7 +245,7 @@ public class ProxyStartupTest { "-pc", configFilePath.toAbsolutePath().toString(), "-n", namesrvAddr }); - ProxyStartup.initConfiguration(commandLineArgument); + ProxyStartup.initLogAndConfiguration(commandLineArgument); ProxyConfig config = ConfigurationManager.getProxyConfig(); assertEquals(namesrvAddr, config.getNamesrvAddr()); @@ -268,7 +270,7 @@ public class ProxyStartupTest { "-n", namesrvAddr, "-bc", brokerConfigFilePath.toAbsolutePath().toString() }); - ProxyStartup.initConfiguration(commandLineArgument); + ProxyStartup.initLogAndConfiguration(commandLineArgument); ProxyConfig config = ConfigurationManager.getProxyConfig(); assertEquals(namesrvAddr, config.getNamesrvAddr()); @@ -282,7 +284,7 @@ public class ProxyStartupTest { CommandLineArgument commandLineArgument = ProxyStartup.parseCommandLineArgument(new String[] { "-pm", "cluster" }); - ProxyStartup.initConfiguration(commandLineArgument); + ProxyStartup.initLogAndConfiguration(commandLineArgument); try (MockedStatic messagingProcessorMocked = mockStatic(DefaultMessagingProcessor.class)) { DefaultMessagingProcessor processor = mock(DefaultMessagingProcessor.class); diff --git a/proxy/src/test/java/org/apache/rocketmq/proxy/common/ReceiptHandleGroupTest.java b/proxy/src/test/java/org/apache/rocketmq/proxy/common/ReceiptHandleGroupTest.java index 93abae324c..8bdff6566f 100644 --- a/proxy/src/test/java/org/apache/rocketmq/proxy/common/ReceiptHandleGroupTest.java +++ b/proxy/src/test/java/org/apache/rocketmq/proxy/common/ReceiptHandleGroupTest.java @@ -27,7 +27,7 @@ import java.util.concurrent.atomic.AtomicReference; import org.apache.rocketmq.common.consumer.ReceiptHandle; import org.apache.rocketmq.common.message.MessageClientIDSetter; import org.apache.rocketmq.proxy.common.utils.FutureUtils; -import org.apache.rocketmq.proxy.config.InitConfigTest; +import org.apache.rocketmq.proxy.config.InitConfigAndLoggerTest; import org.junit.Before; import org.junit.Test; @@ -37,7 +37,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; -public class ReceiptHandleGroupTest extends InitConfigTest { +public class ReceiptHandleGroupTest extends InitConfigAndLoggerTest { private static final String TOPIC = "topic"; private static final String GROUP = "group"; diff --git a/proxy/src/test/java/org/apache/rocketmq/proxy/config/ConfigurationManagerTest.java b/proxy/src/test/java/org/apache/rocketmq/proxy/config/ConfigurationManagerTest.java index bfa92c05e8..ca36f5f20f 100644 --- a/proxy/src/test/java/org/apache/rocketmq/proxy/config/ConfigurationManagerTest.java +++ b/proxy/src/test/java/org/apache/rocketmq/proxy/config/ConfigurationManagerTest.java @@ -22,7 +22,7 @@ import org.junit.Test; import static org.assertj.core.api.Assertions.assertThat; -public class ConfigurationManagerTest extends InitConfigTest { +public class ConfigurationManagerTest extends InitConfigAndLoggerTest { @Test public void testInitEnv() { diff --git a/proxy/src/test/java/org/apache/rocketmq/proxy/config/InitConfigTest.java b/proxy/src/test/java/org/apache/rocketmq/proxy/config/InitConfigAndLoggerTest.java similarity index 56% rename from proxy/src/test/java/org/apache/rocketmq/proxy/config/InitConfigTest.java rename to proxy/src/test/java/org/apache/rocketmq/proxy/config/InitConfigAndLoggerTest.java index d71d163ac6..e844221809 100644 --- a/proxy/src/test/java/org/apache/rocketmq/proxy/config/InitConfigTest.java +++ b/proxy/src/test/java/org/apache/rocketmq/proxy/config/InitConfigAndLoggerTest.java @@ -17,15 +17,22 @@ package org.apache.rocketmq.proxy.config; +import ch.qos.logback.classic.LoggerContext; +import ch.qos.logback.classic.joran.JoranConfigurator; +import ch.qos.logback.core.joran.spi.JoranException; import java.net.URL; +import org.apache.rocketmq.client.log.ClientLogger; import org.assertj.core.util.Strings; +import java.io.IOException; +import java.io.InputStream; import org.junit.After; import org.junit.Before; +import org.slf4j.LoggerFactory; import static org.apache.rocketmq.proxy.config.ConfigurationManager.RMQ_PROXY_HOME; -public class InitConfigTest { +public class InitConfigAndLoggerTest { public static String mockProxyHome = "/mock/rmq/proxy/home"; @Before @@ -41,10 +48,34 @@ public class InitConfigTest { ConfigurationManager.initEnv(); ConfigurationManager.intConfig(); + initLogger(); } @After public void after() { System.clearProperty(RMQ_PROXY_HOME); + System.clearProperty(ClientLogger.CLIENT_LOG_USESLF4J); + } + + private static void initLogger() throws JoranException { + System.setProperty(ClientLogger.CLIENT_LOG_USESLF4J, "true"); + + LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); + JoranConfigurator configurator = new JoranConfigurator(); + configurator.setContext(lc); + lc.reset(); + // https://logback.qos.ch/manual/configuration.html + lc.setPackagingDataEnabled(false); + + try (InputStream inputStream = InitConfigAndLoggerTest.class.getClassLoader() + .getResourceAsStream("rmq-proxy-home/conf/logback_proxy.xml")) { + if (null != inputStream) { + configurator.doConfigure(inputStream); + return; + } + } catch (IOException ignore) { + } + + configurator.doConfigure(mockProxyHome + "/conf/logback_proxy.xml"); } } \ No newline at end of file diff --git a/proxy/src/test/java/org/apache/rocketmq/proxy/grpc/v2/AbstractMessingActivityTest.java b/proxy/src/test/java/org/apache/rocketmq/proxy/grpc/v2/AbstractMessingActivityTest.java index 3c2967357f..7737745df9 100644 --- a/proxy/src/test/java/org/apache/rocketmq/proxy/grpc/v2/AbstractMessingActivityTest.java +++ b/proxy/src/test/java/org/apache/rocketmq/proxy/grpc/v2/AbstractMessingActivityTest.java @@ -20,7 +20,7 @@ package org.apache.rocketmq.proxy.grpc.v2; import apache.rocketmq.v2.Resource; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.topic.TopicValidator; -import org.apache.rocketmq.proxy.config.InitConfigTest; +import org.apache.rocketmq.proxy.config.InitConfigAndLoggerTest; import org.apache.rocketmq.proxy.grpc.v2.channel.GrpcChannelManager; import org.apache.rocketmq.proxy.grpc.v2.common.GrpcClientSettingsManager; import org.apache.rocketmq.proxy.grpc.v2.common.GrpcProxyException; @@ -30,7 +30,7 @@ import org.junit.Test; import static org.junit.Assert.assertThrows; -public class AbstractMessingActivityTest extends InitConfigTest { +public class AbstractMessingActivityTest extends InitConfigAndLoggerTest { public static class MockMessingActivity extends AbstractMessingActivity { diff --git a/proxy/src/test/java/org/apache/rocketmq/proxy/grpc/v2/BaseActivityTest.java b/proxy/src/test/java/org/apache/rocketmq/proxy/grpc/v2/BaseActivityTest.java index 635e4b5f37..e377f5ff8e 100644 --- a/proxy/src/test/java/org/apache/rocketmq/proxy/grpc/v2/BaseActivityTest.java +++ b/proxy/src/test/java/org/apache/rocketmq/proxy/grpc/v2/BaseActivityTest.java @@ -23,7 +23,7 @@ import java.util.Random; import java.util.UUID; import org.apache.rocketmq.proxy.common.ContextVariable; import org.apache.rocketmq.proxy.common.ProxyContext; -import org.apache.rocketmq.proxy.config.InitConfigTest; +import org.apache.rocketmq.proxy.config.InitConfigAndLoggerTest; import org.apache.rocketmq.proxy.grpc.interceptor.InterceptorConstants; import org.apache.rocketmq.proxy.grpc.v2.channel.GrpcChannelManager; import org.apache.rocketmq.proxy.grpc.v2.common.GrpcClientSettingsManager; @@ -41,7 +41,7 @@ import static org.mockito.Mockito.when; @Ignore @RunWith(MockitoJUnitRunner.Silent.class) -public class BaseActivityTest extends InitConfigTest { +public class BaseActivityTest extends InitConfigAndLoggerTest { protected static final Random RANDOM = new Random(); protected MessagingProcessor messagingProcessor; protected GrpcClientSettingsManager grpcClientSettingsManager; diff --git a/proxy/src/test/java/org/apache/rocketmq/proxy/grpc/v2/GrpcMessagingApplicationTest.java b/proxy/src/test/java/org/apache/rocketmq/proxy/grpc/v2/GrpcMessagingApplicationTest.java index 7ba03fdbf1..4d521ad8c1 100644 --- a/proxy/src/test/java/org/apache/rocketmq/proxy/grpc/v2/GrpcMessagingApplicationTest.java +++ b/proxy/src/test/java/org/apache/rocketmq/proxy/grpc/v2/GrpcMessagingApplicationTest.java @@ -31,7 +31,7 @@ import io.grpc.stub.StreamObserver; import java.util.UUID; import java.util.concurrent.CompletableFuture; import org.apache.rocketmq.proxy.common.ProxyContext; -import org.apache.rocketmq.proxy.config.InitConfigTest; +import org.apache.rocketmq.proxy.config.InitConfigAndLoggerTest; import org.apache.rocketmq.proxy.grpc.interceptor.InterceptorConstants; import org.apache.rocketmq.proxy.grpc.v2.common.ResponseBuilder; import org.junit.Assert; @@ -47,7 +47,7 @@ import static org.awaitility.Awaitility.await; import static org.junit.Assert.assertEquals; @RunWith(MockitoJUnitRunner.class) -public class GrpcMessagingApplicationTest extends InitConfigTest { +public class GrpcMessagingApplicationTest extends InitConfigAndLoggerTest { protected static final String REMOTE_ADDR = "192.168.0.1:8080"; protected static final String LOCAL_ADDR = "127.0.0.1:8080"; protected static final String CLIENT_ID = "client-id" + UUID.randomUUID(); diff --git a/proxy/src/test/java/org/apache/rocketmq/proxy/processor/BaseProcessorTest.java b/proxy/src/test/java/org/apache/rocketmq/proxy/processor/BaseProcessorTest.java index 5c1ea9627e..abe7bd2b2d 100644 --- a/proxy/src/test/java/org/apache/rocketmq/proxy/processor/BaseProcessorTest.java +++ b/proxy/src/test/java/org/apache/rocketmq/proxy/processor/BaseProcessorTest.java @@ -28,7 +28,7 @@ import org.apache.rocketmq.common.message.MessageClientIDSetter; import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.proxy.common.ProxyContext; -import org.apache.rocketmq.proxy.config.InitConfigTest; +import org.apache.rocketmq.proxy.config.InitConfigAndLoggerTest; import org.apache.rocketmq.proxy.service.ServiceManager; import org.apache.rocketmq.proxy.service.message.MessageService; import org.apache.rocketmq.proxy.service.metadata.MetadataService; @@ -45,7 +45,7 @@ import static org.mockito.Mockito.when; @Ignore @RunWith(MockitoJUnitRunner.Silent.class) -public class BaseProcessorTest extends InitConfigTest { +public class BaseProcessorTest extends InitConfigAndLoggerTest { protected static final Random RANDOM = new Random(); @Mock diff --git a/proxy/src/test/java/org/apache/rocketmq/proxy/service/BaseServiceTest.java b/proxy/src/test/java/org/apache/rocketmq/proxy/service/BaseServiceTest.java index d4172d900d..947be9efbb 100644 --- a/proxy/src/test/java/org/apache/rocketmq/proxy/service/BaseServiceTest.java +++ b/proxy/src/test/java/org/apache/rocketmq/proxy/service/BaseServiceTest.java @@ -20,7 +20,7 @@ package org.apache.rocketmq.proxy.service; import java.util.HashMap; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.common.MixAll; -import org.apache.rocketmq.proxy.config.InitConfigTest; +import org.apache.rocketmq.proxy.config.InitConfigAndLoggerTest; import org.apache.rocketmq.proxy.service.mqclient.MQClientAPIExt; import org.apache.rocketmq.proxy.service.mqclient.MQClientAPIFactory; import org.apache.rocketmq.proxy.service.route.MessageQueueView; @@ -41,7 +41,7 @@ import static org.mockito.Mockito.when; @Ignore @RunWith(MockitoJUnitRunner.Silent.class) -public class BaseServiceTest extends InitConfigTest { +public class BaseServiceTest extends InitConfigAndLoggerTest { protected TopicRouteService topicRouteService; protected MQClientAPIFactory mqClientAPIFactory; diff --git a/proxy/src/test/java/org/apache/rocketmq/proxy/service/message/LocalMessageServiceTest.java b/proxy/src/test/java/org/apache/rocketmq/proxy/service/message/LocalMessageServiceTest.java index 84fc6499c0..42efc7c1f2 100644 --- a/proxy/src/test/java/org/apache/rocketmq/proxy/service/message/LocalMessageServiceTest.java +++ b/proxy/src/test/java/org/apache/rocketmq/proxy/service/message/LocalMessageServiceTest.java @@ -51,7 +51,7 @@ import org.apache.rocketmq.proxy.common.ProxyContext; import org.apache.rocketmq.proxy.common.ProxyException; import org.apache.rocketmq.proxy.common.ProxyExceptionCode; import org.apache.rocketmq.proxy.config.ConfigurationManager; -import org.apache.rocketmq.proxy.config.InitConfigTest; +import org.apache.rocketmq.proxy.config.InitConfigAndLoggerTest; import org.apache.rocketmq.proxy.service.channel.ChannelManager; import org.apache.rocketmq.proxy.service.channel.SimpleChannelHandlerContext; import org.apache.rocketmq.proxy.service.route.AddressableMessageQueue; @@ -80,7 +80,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.catchThrowableOfType; @RunWith(MockitoJUnitRunner.class) -public class LocalMessageServiceTest extends InitConfigTest { +public class LocalMessageServiceTest extends InitConfigAndLoggerTest { private LocalMessageService localMessageService; @Mock private SendMessageProcessor sendMessageProcessorMock; diff --git a/proxy/src/test/java/org/apache/rocketmq/proxy/service/transaction/AbstractTransactionServiceTest.java b/proxy/src/test/java/org/apache/rocketmq/proxy/service/transaction/AbstractTransactionServiceTest.java index 6e4af2e8f6..055ab0c0f0 100644 --- a/proxy/src/test/java/org/apache/rocketmq/proxy/service/transaction/AbstractTransactionServiceTest.java +++ b/proxy/src/test/java/org/apache/rocketmq/proxy/service/transaction/AbstractTransactionServiceTest.java @@ -24,7 +24,7 @@ import org.apache.rocketmq.common.message.MessageClientIDSetter; import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.sysflag.MessageSysFlag; import org.apache.rocketmq.proxy.common.ProxyContext; -import org.apache.rocketmq.proxy.config.InitConfigTest; +import org.apache.rocketmq.proxy.config.InitConfigAndLoggerTest; import org.junit.Before; import org.junit.Test; @@ -32,7 +32,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; -public class AbstractTransactionServiceTest extends InitConfigTest { +public class AbstractTransactionServiceTest extends InitConfigAndLoggerTest { private static final String BROKER_NAME = "mockBroker"; private static final String PRODUCER_GROUP = "producerGroup"; diff --git a/proxy/src/test/java/org/apache/rocketmq/proxy/service/transaction/TransactionDataManagerTest.java b/proxy/src/test/java/org/apache/rocketmq/proxy/service/transaction/TransactionDataManagerTest.java index f92a7846c5..63882469d0 100644 --- a/proxy/src/test/java/org/apache/rocketmq/proxy/service/transaction/TransactionDataManagerTest.java +++ b/proxy/src/test/java/org/apache/rocketmq/proxy/service/transaction/TransactionDataManagerTest.java @@ -22,7 +22,7 @@ import java.util.Random; import org.apache.commons.lang3.time.StopWatch; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.message.MessageClientIDSetter; -import org.apache.rocketmq.proxy.config.InitConfigTest; +import org.apache.rocketmq.proxy.config.InitConfigAndLoggerTest; import org.junit.After; import org.junit.Assume; import org.junit.Before; @@ -34,7 +34,7 @@ import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; -public class TransactionDataManagerTest extends InitConfigTest { +public class TransactionDataManagerTest extends InitConfigAndLoggerTest { private static final String PRODUCER_GROUP = "producerGroup"; private static final Random RANDOM = new Random(); private TransactionDataManager transactionDataManager; diff --git a/proxy/src/test/resources/rmq.logback-test.xml b/proxy/src/test/resources/rmq.logback-test.xml deleted file mode 100644 index c3ec0d1e81..0000000000 --- a/proxy/src/test/resources/rmq.logback-test.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - %d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n - - - - - - - - - - - - - \ No newline at end of file diff --git a/remoting/BUILD.bazel b/remoting/BUILD.bazel index 88d4e951d6..87f1a2bd8d 100644 --- a/remoting/BUILD.bazel +++ b/remoting/BUILD.bazel @@ -21,6 +21,7 @@ java_library( srcs = glob(["src/main/java/**/*.java"]), visibility = ["//visibility:public"], deps = [ + "//logging", "//common", "@maven//:com_alibaba_fastjson", "@maven//:com_google_guava_guava", @@ -36,7 +37,6 @@ java_library( "@maven//:io_opentelemetry_opentelemetry_sdk_metrics", "@maven//:javax_annotation_javax_annotation_api", "@maven//:org_apache_commons_commons_lang3", - "@maven//:io_github_aliyun_mq_rocketmq_slf4j_api", ], ) diff --git a/remoting/pom.xml b/remoting/pom.xml index 1892ce4712..1cb7530cf5 100644 --- a/remoting/pom.xml +++ b/remoting/pom.xml @@ -15,9 +15,7 @@ limitations under the License. --> - + org.apache.rocketmq rocketmq-all @@ -37,7 +35,6 @@ ${project.groupId} rocketmq-common - ${project.version} org.apache.commons diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/Configuration.java b/remoting/src/main/java/org/apache/rocketmq/remoting/Configuration.java index 29cc2c0f23..1db78a230c 100644 --- a/remoting/src/main/java/org/apache/rocketmq/remoting/Configuration.java +++ b/remoting/src/main/java/org/apache/rocketmq/remoting/Configuration.java @@ -27,12 +27,12 @@ import java.util.Properties; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; import org.apache.rocketmq.common.MixAll; -import org.apache.rocketmq.shade.org.slf4j.Logger; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.protocol.DataVersion; public class Configuration { - private final Logger log; + private final InternalLogger log; private List configObjectList = new ArrayList<>(4); private String storePath; @@ -46,11 +46,11 @@ public class Configuration { */ private Properties allConfigs = new Properties(); - public Configuration(Logger log) { + public Configuration(InternalLogger log) { this.log = log; } - public Configuration(Logger log, Object... configObjects) { + public Configuration(InternalLogger log, Object... configObjects) { this.log = log; if (configObjects == null || configObjects.length == 0) { return; @@ -63,7 +63,7 @@ public class Configuration { } } - public Configuration(Logger log, String storePath, Object... configObjects) { + public Configuration(InternalLogger log, String storePath, Object... configObjects) { this(log, configObjects); this.storePath = storePath; } diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/common/RemotingHelper.java b/remoting/src/main/java/org/apache/rocketmq/remoting/common/RemotingHelper.java index 94902506aa..68305bb7f9 100644 --- a/remoting/src/main/java/org/apache/rocketmq/remoting/common/RemotingHelper.java +++ b/remoting/src/main/java/org/apache/rocketmq/remoting/common/RemotingHelper.java @@ -27,8 +27,8 @@ import java.net.SocketAddress; import java.nio.ByteBuffer; import java.nio.channels.SocketChannel; import org.apache.rocketmq.common.utils.NetworkUtil; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.exception.RemotingConnectException; import org.apache.rocketmq.remoting.exception.RemotingSendRequestException; @@ -42,7 +42,7 @@ public class RemotingHelper { public static final String DEFAULT_CHARSET = "UTF-8"; public static final String DEFAULT_CIDR_ALL = "0.0.0.0/0"; - private static final Logger log = LoggerFactory.getLogger(ROCKETMQ_REMOTING); + private static final InternalLogger log = InternalLoggerFactory.getLogger(ROCKETMQ_REMOTING); private static final AttributeKey REMOTE_ADDR_KEY = AttributeKey.valueOf("RemoteAddr"); public static SocketAddress string2SocketAddress(final String addr) { diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/common/ServiceThread.java b/remoting/src/main/java/org/apache/rocketmq/remoting/common/ServiceThread.java index 9bd1c144b9..21fd0efd5e 100644 --- a/remoting/src/main/java/org/apache/rocketmq/remoting/common/ServiceThread.java +++ b/remoting/src/main/java/org/apache/rocketmq/remoting/common/ServiceThread.java @@ -17,14 +17,14 @@ package org.apache.rocketmq.remoting.common; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; /** * Base class for background thread */ public abstract class ServiceThread implements Runnable { - private static final Logger log = LoggerFactory.getLogger(RemotingHelper.ROCKETMQ_REMOTING); + private static final InternalLogger log = InternalLoggerFactory.getLogger(RemotingHelper.ROCKETMQ_REMOTING); private static final long JOIN_TIME = 90 * 1000; protected final Thread thread; diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyDecoder.java b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyDecoder.java index ba89848ef5..a36de6a75c 100644 --- a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyDecoder.java +++ b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyDecoder.java @@ -20,13 +20,13 @@ import com.google.common.base.Stopwatch; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.LengthFieldBasedFrameDecoder; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.protocol.RemotingCommand; public class NettyDecoder extends LengthFieldBasedFrameDecoder { - private static final Logger log = LoggerFactory.getLogger(RemotingHelper.ROCKETMQ_REMOTING); + private static final InternalLogger log = InternalLoggerFactory.getLogger(RemotingHelper.ROCKETMQ_REMOTING); private static final int FRAME_MAX_LENGTH = Integer.parseInt(System.getProperty("com.rocketmq.remoting.frameMaxLength", "16777216")); diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyEncoder.java b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyEncoder.java index fbab326a02..a8342eba56 100644 --- a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyEncoder.java +++ b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyEncoder.java @@ -20,14 +20,14 @@ import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandler; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.MessageToByteEncoder; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.protocol.RemotingCommand; @ChannelHandler.Sharable public class NettyEncoder extends MessageToByteEncoder { - private static final Logger log = LoggerFactory.getLogger(RemotingHelper.ROCKETMQ_REMOTING); + private static final InternalLogger log = InternalLoggerFactory.getLogger(RemotingHelper.ROCKETMQ_REMOTING); @Override public void encode(ChannelHandlerContext ctx, RemotingCommand remotingCommand, ByteBuf out) diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyLogger.java b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyLogger.java index 69dd34dd07..1a0c9b53e3 100644 --- a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyLogger.java +++ b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyLogger.java @@ -19,8 +19,8 @@ package org.apache.rocketmq.remoting.netty; import io.netty.util.internal.logging.InternalLogLevel; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import java.util.concurrent.atomic.AtomicBoolean; @@ -50,12 +50,12 @@ public class NettyLogger { private static class NettyBridgeLogger implements io.netty.util.internal.logging.InternalLogger { - private Logger logger = null; + private InternalLogger logger = null; private static final String EXCEPTION_MESSAGE = "Unexpected exception:"; public NettyBridgeLogger(String name) { - logger = LoggerFactory.getLogger(name); + logger = InternalLoggerFactory.getLogger(name); } @Override diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingAbstract.java b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingAbstract.java index 68dae5bcbc..a9702d6da2 100644 --- a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingAbstract.java +++ b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingAbstract.java @@ -42,8 +42,8 @@ import javax.annotation.Nullable; import org.apache.rocketmq.common.Pair; import org.apache.rocketmq.common.ServiceThread; import org.apache.rocketmq.common.UtilAll; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.ChannelEventListener; import org.apache.rocketmq.remoting.InvokeCallback; import org.apache.rocketmq.remoting.RPCHook; @@ -69,7 +69,7 @@ public abstract class NettyRemotingAbstract { /** * Remoting logger instance. */ - private static final Logger log = LoggerFactory.getLogger(RemotingHelper.ROCKETMQ_REMOTING); + private static final InternalLogger log = InternalLoggerFactory.getLogger(RemotingHelper.ROCKETMQ_REMOTING); /** * Semaphore to limit maximum number of on-going one-way requests, which protects system memory footprint. diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingClient.java b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingClient.java index 736e093d0f..5c4400df99 100644 --- a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingClient.java +++ b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingClient.java @@ -69,8 +69,8 @@ import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; import org.apache.commons.lang3.StringUtils; import org.apache.rocketmq.common.Pair; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.ChannelEventListener; import org.apache.rocketmq.remoting.InvokeCallback; import org.apache.rocketmq.remoting.RemotingClient; @@ -83,7 +83,7 @@ import org.apache.rocketmq.remoting.protocol.RemotingCommand; import org.apache.rocketmq.remoting.proxy.SocksProxyConfig; public class NettyRemotingClient extends NettyRemotingAbstract implements RemotingClient { - private static final Logger LOGGER = LoggerFactory.getLogger(RemotingHelper.ROCKETMQ_REMOTING); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(RemotingHelper.ROCKETMQ_REMOTING); private static final long LOCK_TIMEOUT_MILLIS = 3000; diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingServer.java b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingServer.java index 606246726b..9d004433ba 100644 --- a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingServer.java +++ b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingServer.java @@ -57,8 +57,8 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import org.apache.rocketmq.common.Pair; import org.apache.rocketmq.common.utils.NetworkUtil; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.ChannelEventListener; import org.apache.rocketmq.remoting.InvokeCallback; import org.apache.rocketmq.remoting.RemotingServer; @@ -71,9 +71,9 @@ import org.apache.rocketmq.remoting.protocol.RemotingCommand; @SuppressWarnings("NullableProblems") public class NettyRemotingServer extends NettyRemotingAbstract implements RemotingServer { - private static final Logger log = LoggerFactory.getLogger(RemotingHelper.ROCKETMQ_REMOTING); - private static final Logger TRAFFIC_LOGGER = - LoggerFactory.getLogger(RemotingHelper.ROCKETMQ_TRAFFIC); + private static final InternalLogger log = InternalLoggerFactory.getLogger(RemotingHelper.ROCKETMQ_REMOTING); + private static final InternalLogger TRAFFIC_LOGGER = + InternalLoggerFactory.getLogger(RemotingHelper.ROCKETMQ_TRAFFIC); private final ServerBootstrap serverBootstrap; private final EventLoopGroup eventLoopGroupSelector; diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/TlsHelper.java b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/TlsHelper.java index 5ea73c5c5e..5003ce39ef 100644 --- a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/TlsHelper.java +++ b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/TlsHelper.java @@ -31,8 +31,8 @@ import java.io.InputStream; import java.security.cert.CertificateException; import java.util.Properties; import org.apache.rocketmq.remoting.common.RemotingHelper; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import static org.apache.rocketmq.remoting.netty.TlsSystemConfig.TLS_CLIENT_AUTHSERVER; import static org.apache.rocketmq.remoting.netty.TlsSystemConfig.TLS_CLIENT_CERTPATH; @@ -73,7 +73,7 @@ public class TlsHelper { InputStream decryptPrivateKey(String privateKeyEncryptPath, boolean forClient) throws IOException; } - private static final Logger LOGGER = LoggerFactory.getLogger(RemotingHelper.ROCKETMQ_REMOTING); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(RemotingHelper.ROCKETMQ_REMOTING); private static DecryptionStrategy decryptionStrategy = new DecryptionStrategy() { @Override diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/MQProtosHelper.java b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/MQProtosHelper.java index dc0dfe52c4..4120e7c27d 100644 --- a/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/MQProtosHelper.java +++ b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/MQProtosHelper.java @@ -18,13 +18,13 @@ package org.apache.rocketmq.remoting.protocol; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.protocol.header.namesrv.RegisterBrokerRequestHeader; public class MQProtosHelper { - private static final Logger log = LoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); public static boolean registerBrokerToNameServer(final String nsaddr, final String brokerAddr, final long timeoutMillis) { diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/RemotingCommand.java b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/RemotingCommand.java index adead31cf3..a3815aeca5 100644 --- a/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/RemotingCommand.java +++ b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/RemotingCommand.java @@ -32,8 +32,8 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.concurrent.atomic.AtomicInteger; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.CommandCustomHeader; import org.apache.rocketmq.remoting.annotation.CFNotNull; import org.apache.rocketmq.remoting.common.RemotingHelper; @@ -43,7 +43,7 @@ public class RemotingCommand { public static final String SERIALIZE_TYPE_PROPERTY = "rocketmq.serialize.type"; public static final String SERIALIZE_TYPE_ENV = "ROCKETMQ_SERIALIZE_TYPE"; public static final String REMOTING_VERSION_KEY = "rocketmq.remoting.version"; - static final Logger log = LoggerFactory.getLogger(RemotingHelper.ROCKETMQ_REMOTING); + static final InternalLogger log = InternalLoggerFactory.getLogger(RemotingHelper.ROCKETMQ_REMOTING); private static final int RPC_TYPE = 0; // 0, REQUEST_COMMAND private static final int RPC_ONEWAY = 1; // 0, RPC private static final Map, Field[]> CLASS_HASH_MAP = diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/body/RegisterBrokerBody.java b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/body/RegisterBrokerBody.java index f04bec4513..586335ac8a 100644 --- a/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/body/RegisterBrokerBody.java +++ b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/body/RegisterBrokerBody.java @@ -33,15 +33,15 @@ import java.util.zip.InflaterInputStream; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.TopicConfig; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.DataVersion; import org.apache.rocketmq.remoting.protocol.RemotingSerializable; import org.apache.rocketmq.remoting.protocol.statictopic.TopicQueueMappingInfo; public class RegisterBrokerBody extends RemotingSerializable { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); private TopicConfigAndMappingSerializeWrapper topicConfigSerializeWrapper = new TopicConfigAndMappingSerializeWrapper(); private List filterServerList = new ArrayList<>(); diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/rpc/ClientMetadata.java b/remoting/src/main/java/org/apache/rocketmq/remoting/rpc/ClientMetadata.java index 6a19e645fa..77bb7bef35 100644 --- a/remoting/src/main/java/org/apache/rocketmq/remoting/rpc/ClientMetadata.java +++ b/remoting/src/main/java/org/apache/rocketmq/remoting/rpc/ClientMetadata.java @@ -27,8 +27,8 @@ import java.util.concurrent.ConcurrentMap; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.body.ClusterInfo; import org.apache.rocketmq.remoting.protocol.route.BrokerData; import org.apache.rocketmq.remoting.protocol.route.TopicRouteData; @@ -36,7 +36,7 @@ import org.apache.rocketmq.remoting.protocol.statictopic.TopicQueueMappingInfo; import org.apache.rocketmq.remoting.protocol.statictopic.TopicQueueMappingUtils; public class ClientMetadata { - private static final Logger log = LoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); private final ConcurrentMap topicRouteTable = new ConcurrentHashMap<>(); private final ConcurrentMap> topicEndPointsTable = new ConcurrentHashMap<>(); diff --git a/remoting/src/test/resources/rmq.logback-test.xml b/remoting/src/test/resources/rmq.logback-test.xml deleted file mode 100644 index c3ec0d1e81..0000000000 --- a/remoting/src/test/resources/rmq.logback-test.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - %d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n - - - - - - - - - - - - - \ No newline at end of file diff --git a/srvutil/BUILD.bazel b/srvutil/BUILD.bazel index 33e8537709..9f6fcc22ea 100644 --- a/srvutil/BUILD.bazel +++ b/srvutil/BUILD.bazel @@ -23,6 +23,7 @@ java_library( deps = [ "//common", "//remoting", + "//logging", "@maven//:org_apache_commons_commons_lang3", "@maven//:commons_validator_commons_validator", "@maven//:com_github_luben_zstd_jni", @@ -32,7 +33,6 @@ java_library( "@maven//:commons_cli_commons_cli", "@maven//:com_googlecode_concurrentlinkedhashmap_concurrentlinkedhashmap_lru", "@maven//:com_google_guava_guava", - "@maven//:io_github_aliyun_mq_rocketmq_slf4j_api", ], ) diff --git a/srvutil/pom.xml b/srvutil/pom.xml index 5257842167..3c638cdc51 100644 --- a/srvutil/pom.xml +++ b/srvutil/pom.xml @@ -35,12 +35,10 @@ ${project.groupId} rocketmq-remoting - ${project.version} ${project.groupId} rocketmq-common - ${project.version} commons-cli @@ -54,5 +52,10 @@ com.googlecode.concurrentlinkedhashmap concurrentlinkedhashmap-lru + + ch.qos.logback + logback-classic + test + diff --git a/srvutil/src/main/java/org/apache/rocketmq/srvutil/AclFileWatchService.java b/srvutil/src/main/java/org/apache/rocketmq/srvutil/AclFileWatchService.java index 3110b6a0f3..e6fe5b3588 100644 --- a/srvutil/src/main/java/org/apache/rocketmq/srvutil/AclFileWatchService.java +++ b/srvutil/src/main/java/org/apache/rocketmq/srvutil/AclFileWatchService.java @@ -22,8 +22,8 @@ import java.util.List; import org.apache.rocketmq.common.ServiceThread; import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import java.io.File; import java.io.IOException; import java.nio.file.Files; @@ -34,7 +34,7 @@ import java.util.HashMap; import java.util.Map; public class AclFileWatchService extends ServiceThread { - private static final Logger log = LoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); private final String aclPath; private int aclFilesNum; diff --git a/srvutil/src/main/java/org/apache/rocketmq/srvutil/FileWatchService.java b/srvutil/src/main/java/org/apache/rocketmq/srvutil/FileWatchService.java index 9591dfb5fe..e8beabccc1 100644 --- a/srvutil/src/main/java/org/apache/rocketmq/srvutil/FileWatchService.java +++ b/srvutil/src/main/java/org/apache/rocketmq/srvutil/FileWatchService.java @@ -29,11 +29,11 @@ import java.util.Map; import org.apache.rocketmq.common.LifecycleAwareServiceThread; import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public class FileWatchService extends LifecycleAwareServiceThread { - private static final Logger log = LoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME); private final Map currentHash = new HashMap<>(); private final Listener listener; diff --git a/srvutil/src/main/java/org/apache/rocketmq/srvutil/ShutdownHookThread.java b/srvutil/src/main/java/org/apache/rocketmq/srvutil/ShutdownHookThread.java index 3d040de32a..ba01e1ebae 100644 --- a/srvutil/src/main/java/org/apache/rocketmq/srvutil/ShutdownHookThread.java +++ b/srvutil/src/main/java/org/apache/rocketmq/srvutil/ShutdownHookThread.java @@ -17,7 +17,7 @@ package org.apache.rocketmq.srvutil; -import org.apache.rocketmq.shade.org.slf4j.Logger; +import org.apache.rocketmq.logging.InternalLogger; import java.util.concurrent.Callable; import java.util.concurrent.atomic.AtomicInteger; @@ -29,7 +29,7 @@ import java.util.concurrent.atomic.AtomicInteger; public class ShutdownHookThread extends Thread { private volatile boolean hasShutdown = false; private AtomicInteger shutdownTimes = new AtomicInteger(0); - private final Logger log; + private final InternalLogger log; private final Callable callback; /** @@ -38,7 +38,7 @@ public class ShutdownHookThread extends Thread { * @param log The log instance is used in hook thread. * @param callback The call back function. */ - public ShutdownHookThread(Logger log, Callable callback) { + public ShutdownHookThread(InternalLogger log, Callable callback) { super("ShutdownHook"); this.log = log; this.callback = callback; diff --git a/broker/src/test/resources/rmq.logback-test.xml b/srvutil/src/test/java/logback-test.xml similarity index 63% rename from broker/src/test/resources/rmq.logback-test.xml rename to srvutil/src/test/java/logback-test.xml index c3ec0d1e81..2835f5d458 100644 --- a/broker/src/test/resources/rmq.logback-test.xml +++ b/srvutil/src/test/java/logback-test.xml @@ -16,21 +16,13 @@ limitations under the License. --> - - - - - %d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n - - + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + - - - - - - + + - \ No newline at end of file diff --git a/srvutil/src/test/resources/rmq.logback-test.xml b/srvutil/src/test/resources/rmq.logback-test.xml deleted file mode 100644 index c3ec0d1e81..0000000000 --- a/srvutil/src/test/resources/rmq.logback-test.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - %d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n - - - - - - - - - - - - - \ No newline at end of file diff --git a/store/BUILD.bazel b/store/BUILD.bazel index ed3496fcd4..c4297b24c1 100644 --- a/store/BUILD.bazel +++ b/store/BUILD.bazel @@ -22,6 +22,7 @@ java_library( visibility = ["//visibility:public"], deps = [ "//common", + "//logging", "//remoting", "@maven//:com_alibaba_fastjson", "@maven//:com_conversantmedia_disruptor", @@ -38,7 +39,6 @@ java_library( "@maven//:io_opentelemetry_opentelemetry_sdk_metrics", "@maven//:net_java_dev_jna_jna", "@maven//:org_apache_commons_commons_lang3", - "@maven//:io_github_aliyun_mq_rocketmq_slf4j_api", ], ) @@ -51,12 +51,12 @@ java_library( ":store", "//:test_deps", "//common", - "//remoting", + "//logging", + "//remoting", "@maven//:com_conversantmedia_disruptor", "@maven//:io_openmessaging_storage_dledger", "@maven//:org_apache_commons_commons_lang3", "@maven//:com_google_guava_guava", - "@maven//:io_github_aliyun_mq_rocketmq_slf4j_api", ], ) diff --git a/store/pom.xml b/store/pom.xml index 21e1730a93..34abdf70dd 100644 --- a/store/pom.xml +++ b/store/pom.xml @@ -45,12 +45,16 @@ ${project.groupId} rocketmq-remoting - ${project.version} net.java.dev.jna jna + + ch.qos.logback + logback-classic + test + com.conversantmedia disruptor @@ -59,12 +63,5 @@ com.google.guava guava - - - - org.slf4j - slf4j-api - test - diff --git a/store/src/main/java/org/apache/rocketmq/store/AllocateMappedFileService.java b/store/src/main/java/org/apache/rocketmq/store/AllocateMappedFileService.java index f5727dd453..94999997c3 100644 --- a/store/src/main/java/org/apache/rocketmq/store/AllocateMappedFileService.java +++ b/store/src/main/java/org/apache/rocketmq/store/AllocateMappedFileService.java @@ -27,8 +27,8 @@ import java.util.concurrent.TimeUnit; import org.apache.rocketmq.common.ServiceThread; import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.config.BrokerRole; import org.apache.rocketmq.store.logfile.DefaultMappedFile; import org.apache.rocketmq.store.logfile.MappedFile; @@ -37,7 +37,7 @@ import org.apache.rocketmq.store.logfile.MappedFile; * Create MappedFile in advance */ public class AllocateMappedFileService extends ServiceThread { - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); private static int waitTimeOut = 1000 * 5; private ConcurrentMap requestTable = new ConcurrentHashMap<>(); diff --git a/store/src/main/java/org/apache/rocketmq/store/CommitLog.java b/store/src/main/java/org/apache/rocketmq/store/CommitLog.java index 5922f17701..6d2e9862cd 100644 --- a/store/src/main/java/org/apache/rocketmq/store/CommitLog.java +++ b/store/src/main/java/org/apache/rocketmq/store/CommitLog.java @@ -45,8 +45,8 @@ import org.apache.rocketmq.common.message.MessageExtBrokerInner; import org.apache.rocketmq.common.sysflag.MessageSysFlag; import org.apache.rocketmq.common.topic.TopicValidator; import org.apache.rocketmq.common.utils.QueueTypeUtils; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.MessageExtEncoder.PutMessageThreadLocal; import org.apache.rocketmq.store.config.BrokerRole; import org.apache.rocketmq.store.config.FlushDiskType; @@ -60,7 +60,7 @@ import org.apache.rocketmq.common.attribute.CQType; public class CommitLog implements Swappable { // Message's MAGIC CODE daa320a7 public final static int MESSAGE_MAGIC_CODE = -626843481; - protected static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + protected static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); // End of file empty MAGIC CODE cbd43194 public final static int BLANK_MAGIC_CODE = -875286124; protected final MappedFileQueue mappedFileQueue; diff --git a/store/src/main/java/org/apache/rocketmq/store/ConsumeQueue.java b/store/src/main/java/org/apache/rocketmq/store/ConsumeQueue.java index 76e8ef788e..59231dcf46 100644 --- a/store/src/main/java/org/apache/rocketmq/store/ConsumeQueue.java +++ b/store/src/main/java/org/apache/rocketmq/store/ConsumeQueue.java @@ -29,8 +29,8 @@ import org.apache.rocketmq.common.message.MessageAccessor; import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.message.MessageDecoder; import org.apache.rocketmq.common.message.MessageExtBrokerInner; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.config.BrokerRole; import org.apache.rocketmq.store.config.StorePathConfigHelper; import org.apache.rocketmq.store.logfile.MappedFile; @@ -42,10 +42,10 @@ import org.apache.rocketmq.store.queue.QueueOffsetAssigner; import org.apache.rocketmq.store.queue.ReferredIterator; public class ConsumeQueue implements ConsumeQueueInterface, FileQueueLifeCycle { - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); public static final int CQ_STORE_UNIT_SIZE = 20; - private static final Logger LOG_ERROR = LoggerFactory.getLogger(LoggerName.STORE_ERROR_LOGGER_NAME); + private static final InternalLogger LOG_ERROR = InternalLoggerFactory.getLogger(LoggerName.STORE_ERROR_LOGGER_NAME); private final MessageStore messageStore; diff --git a/store/src/main/java/org/apache/rocketmq/store/ConsumeQueueExt.java b/store/src/main/java/org/apache/rocketmq/store/ConsumeQueueExt.java index 2394c5bd8b..e39b51e8b4 100644 --- a/store/src/main/java/org/apache/rocketmq/store/ConsumeQueueExt.java +++ b/store/src/main/java/org/apache/rocketmq/store/ConsumeQueueExt.java @@ -18,8 +18,8 @@ package org.apache.rocketmq.store; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import java.io.File; import java.nio.ByteBuffer; @@ -38,7 +38,7 @@ import org.apache.rocketmq.store.logfile.MappedFile; *
  • 4. Pls keep this file small.
  • */ public class ConsumeQueueExt { - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); private final MappedFileQueue mappedFileQueue; private final String topic; diff --git a/store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java b/store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java index 588fefd267..89faaae7c4 100644 --- a/store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java +++ b/store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java @@ -71,8 +71,8 @@ import org.apache.rocketmq.common.topic.TopicValidator; import org.apache.rocketmq.common.utils.CleanupPolicyUtils; import org.apache.rocketmq.common.utils.QueueTypeUtils; import org.apache.rocketmq.common.utils.ServiceProvider; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.body.HARuntimeInfo; import org.apache.rocketmq.store.config.BrokerRole; import org.apache.rocketmq.store.config.FlushDiskType; @@ -99,7 +99,7 @@ import org.apache.rocketmq.store.timer.TimerMessageStore; import org.apache.rocketmq.store.util.PerfCounter; public class DefaultMessageStore implements MessageStore { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); public final PerfCounter.Ticks perfs = new PerfCounter.Ticks(LOGGER); diff --git a/store/src/main/java/org/apache/rocketmq/store/FlushDiskWatcher.java b/store/src/main/java/org/apache/rocketmq/store/FlushDiskWatcher.java index fa2394dccf..980a496c55 100644 --- a/store/src/main/java/org/apache/rocketmq/store/FlushDiskWatcher.java +++ b/store/src/main/java/org/apache/rocketmq/store/FlushDiskWatcher.java @@ -21,12 +21,12 @@ import java.util.concurrent.LinkedBlockingQueue; import org.apache.rocketmq.common.ServiceThread; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.CommitLog.GroupCommitRequest; public class FlushDiskWatcher extends ServiceThread { - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); private final LinkedBlockingQueue commitRequests = new LinkedBlockingQueue<>(); @Override diff --git a/store/src/main/java/org/apache/rocketmq/store/MappedFileQueue.java b/store/src/main/java/org/apache/rocketmq/store/MappedFileQueue.java index 24c350f39c..ff5705ac16 100644 --- a/store/src/main/java/org/apache/rocketmq/store/MappedFileQueue.java +++ b/store/src/main/java/org/apache/rocketmq/store/MappedFileQueue.java @@ -31,14 +31,14 @@ import com.google.common.collect.Lists; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.logfile.DefaultMappedFile; import org.apache.rocketmq.store.logfile.MappedFile; public class MappedFileQueue implements Swappable { - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); - private static final Logger LOG_ERROR = LoggerFactory.getLogger(LoggerName.STORE_ERROR_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger LOG_ERROR = InternalLoggerFactory.getLogger(LoggerName.STORE_ERROR_LOGGER_NAME); protected final String storePath; diff --git a/store/src/main/java/org/apache/rocketmq/store/MessageExtEncoder.java b/store/src/main/java/org/apache/rocketmq/store/MessageExtEncoder.java index 04107879e3..4af220f7e0 100644 --- a/store/src/main/java/org/apache/rocketmq/store/MessageExtEncoder.java +++ b/store/src/main/java/org/apache/rocketmq/store/MessageExtEncoder.java @@ -25,13 +25,13 @@ import org.apache.rocketmq.common.message.MessageDecoder; import org.apache.rocketmq.common.message.MessageExtBatch; import org.apache.rocketmq.common.message.MessageExtBrokerInner; import org.apache.rocketmq.common.sysflag.MessageSysFlag; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import java.nio.ByteBuffer; public class MessageExtEncoder { - protected static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + protected static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); private ByteBuf byteBuf; // The maximum length of the message body. private int maxMessageBodySize; diff --git a/store/src/main/java/org/apache/rocketmq/store/StoreCheckpoint.java b/store/src/main/java/org/apache/rocketmq/store/StoreCheckpoint.java index 4123907e8f..07e4b799fe 100644 --- a/store/src/main/java/org/apache/rocketmq/store/StoreCheckpoint.java +++ b/store/src/main/java/org/apache/rocketmq/store/StoreCheckpoint.java @@ -24,12 +24,12 @@ import java.nio.channels.FileChannel; import java.nio.channels.FileChannel.MapMode; import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.logfile.DefaultMappedFile; public class StoreCheckpoint { - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); private final RandomAccessFile randomAccessFile; private final FileChannel fileChannel; private final MappedByteBuffer mappedByteBuffer; diff --git a/store/src/main/java/org/apache/rocketmq/store/StoreStatsService.java b/store/src/main/java/org/apache/rocketmq/store/StoreStatsService.java index 70e0d7e729..ebceac59b6 100644 --- a/store/src/main/java/org/apache/rocketmq/store/StoreStatsService.java +++ b/store/src/main/java/org/apache/rocketmq/store/StoreStatsService.java @@ -31,11 +31,11 @@ import java.util.concurrent.locks.ReentrantLock; import org.apache.rocketmq.common.BrokerIdentity; import org.apache.rocketmq.common.ServiceThread; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public class StoreStatsService extends ServiceThread { - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); private static final int FREQUENCY_OF_SAMPLING = 1000; diff --git a/store/src/main/java/org/apache/rocketmq/store/StoreUtil.java b/store/src/main/java/org/apache/rocketmq/store/StoreUtil.java index 5251f6b490..e910c2a8cc 100644 --- a/store/src/main/java/org/apache/rocketmq/store/StoreUtil.java +++ b/store/src/main/java/org/apache/rocketmq/store/StoreUtil.java @@ -18,8 +18,8 @@ package org.apache.rocketmq.store; import com.google.common.base.Preconditions; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.logfile.MappedFile; import java.lang.management.ManagementFactory; @@ -29,7 +29,7 @@ import java.nio.ByteBuffer; import static java.lang.String.format; public class StoreUtil { - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); public static final long TOTAL_PHYSICAL_MEMORY_SIZE = getTotalPhysicalMemorySize(); diff --git a/store/src/main/java/org/apache/rocketmq/store/TransientStorePool.java b/store/src/main/java/org/apache/rocketmq/store/TransientStorePool.java index ce2d972ddb..f692a99b1c 100644 --- a/store/src/main/java/org/apache/rocketmq/store/TransientStorePool.java +++ b/store/src/main/java/org/apache/rocketmq/store/TransientStorePool.java @@ -22,14 +22,14 @@ import java.nio.ByteBuffer; import java.util.Deque; import java.util.concurrent.ConcurrentLinkedDeque; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.config.MessageStoreConfig; import org.apache.rocketmq.store.util.LibC; import sun.nio.ch.DirectBuffer; public class TransientStorePool { - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); private final int poolSize; private final int fileSize; diff --git a/store/src/main/java/org/apache/rocketmq/store/ha/DefaultHAClient.java b/store/src/main/java/org/apache/rocketmq/store/ha/DefaultHAClient.java index 6f096434e5..d860d742ae 100644 --- a/store/src/main/java/org/apache/rocketmq/store/ha/DefaultHAClient.java +++ b/store/src/main/java/org/apache/rocketmq/store/ha/DefaultHAClient.java @@ -28,14 +28,14 @@ import java.util.concurrent.atomic.AtomicReference; import org.apache.rocketmq.common.ServiceThread; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.utils.NetworkUtil; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.store.DefaultMessageStore; public class DefaultHAClient extends ServiceThread implements HAClient { - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); private static final int READ_MAX_BUFFER_SIZE = 1024 * 1024 * 4; private final AtomicReference masterHaAddress = new AtomicReference<>(); private final AtomicReference masterAddress = new AtomicReference<>(); diff --git a/store/src/main/java/org/apache/rocketmq/store/ha/DefaultHAConnection.java b/store/src/main/java/org/apache/rocketmq/store/ha/DefaultHAConnection.java index e8fe28f8d9..2ff8e8d880 100644 --- a/store/src/main/java/org/apache/rocketmq/store/ha/DefaultHAConnection.java +++ b/store/src/main/java/org/apache/rocketmq/store/ha/DefaultHAConnection.java @@ -25,13 +25,13 @@ import java.nio.channels.SocketChannel; import org.apache.rocketmq.common.ServiceThread; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.utils.NetworkUtil; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.netty.NettySystemConfig; import org.apache.rocketmq.store.SelectMappedBufferResult; public class DefaultHAConnection implements HAConnection { - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); private final DefaultHAService haService; private final SocketChannel socketChannel; private final String clientAddress; diff --git a/store/src/main/java/org/apache/rocketmq/store/ha/DefaultHAService.java b/store/src/main/java/org/apache/rocketmq/store/ha/DefaultHAService.java index 53fe143090..7dacbde8fd 100644 --- a/store/src/main/java/org/apache/rocketmq/store/ha/DefaultHAService.java +++ b/store/src/main/java/org/apache/rocketmq/store/ha/DefaultHAService.java @@ -32,8 +32,8 @@ import java.util.concurrent.atomic.AtomicLong; import org.apache.rocketmq.common.ServiceThread; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.utils.NetworkUtil; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.body.HARuntimeInfo; import org.apache.rocketmq.store.CommitLog; import org.apache.rocketmq.store.DefaultMessageStore; @@ -42,7 +42,7 @@ import org.apache.rocketmq.store.config.MessageStoreConfig; public class DefaultHAService implements HAService { - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); protected final AtomicInteger connectionCount = new AtomicInteger(0); diff --git a/store/src/main/java/org/apache/rocketmq/store/ha/GroupTransferService.java b/store/src/main/java/org/apache/rocketmq/store/ha/GroupTransferService.java index cf8871b91e..181d4dfed9 100644 --- a/store/src/main/java/org/apache/rocketmq/store/ha/GroupTransferService.java +++ b/store/src/main/java/org/apache/rocketmq/store/ha/GroupTransferService.java @@ -23,8 +23,8 @@ import java.util.Set; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.ServiceThread; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.CommitLog; import org.apache.rocketmq.store.DefaultMessageStore; import org.apache.rocketmq.store.PutMessageSpinLock; @@ -37,7 +37,7 @@ import org.apache.rocketmq.store.ha.autoswitch.AutoSwitchHAService; */ public class GroupTransferService extends ServiceThread { - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); private final WaitNotifyObject notifyTransferObject = new WaitNotifyObject(); private final PutMessageSpinLock lock = new PutMessageSpinLock(); diff --git a/store/src/main/java/org/apache/rocketmq/store/ha/HAConnectionStateNotificationService.java b/store/src/main/java/org/apache/rocketmq/store/ha/HAConnectionStateNotificationService.java index f0cf22a47b..f4e08ccaa1 100644 --- a/store/src/main/java/org/apache/rocketmq/store/ha/HAConnectionStateNotificationService.java +++ b/store/src/main/java/org/apache/rocketmq/store/ha/HAConnectionStateNotificationService.java @@ -20,8 +20,8 @@ package org.apache.rocketmq.store.ha; import java.net.InetSocketAddress; import org.apache.rocketmq.common.ServiceThread; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.DefaultMessageStore; import org.apache.rocketmq.store.config.BrokerRole; @@ -30,7 +30,7 @@ import org.apache.rocketmq.store.config.BrokerRole; */ public class HAConnectionStateNotificationService extends ServiceThread { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); private static final long CONNECTION_ESTABLISH_TIMEOUT = 10 * 1000; diff --git a/store/src/main/java/org/apache/rocketmq/store/ha/WaitNotifyObject.java b/store/src/main/java/org/apache/rocketmq/store/ha/WaitNotifyObject.java index fe8f8a56db..bff17f0e72 100644 --- a/store/src/main/java/org/apache/rocketmq/store/ha/WaitNotifyObject.java +++ b/store/src/main/java/org/apache/rocketmq/store/ha/WaitNotifyObject.java @@ -18,15 +18,15 @@ package org.apache.rocketmq.store.ha; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.utils.ConcurrentHashMapUtils; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicBoolean; public class WaitNotifyObject { - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); protected final ConcurrentHashMap waitingThreadTable = new ConcurrentHashMap<>(16); diff --git a/store/src/main/java/org/apache/rocketmq/store/ha/autoswitch/AutoSwitchHAClient.java b/store/src/main/java/org/apache/rocketmq/store/ha/autoswitch/AutoSwitchHAClient.java index 200e289202..7461279c7a 100644 --- a/store/src/main/java/org/apache/rocketmq/store/ha/autoswitch/AutoSwitchHAClient.java +++ b/store/src/main/java/org/apache/rocketmq/store/ha/autoswitch/AutoSwitchHAClient.java @@ -31,8 +31,8 @@ import org.apache.commons.lang3.StringUtils; import org.apache.rocketmq.common.ServiceThread; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.utils.NetworkUtil; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.common.RemotingHelper; import org.apache.rocketmq.remoting.protocol.EpochEntry; import org.apache.rocketmq.store.DefaultMessageStore; @@ -60,7 +60,7 @@ public class AutoSwitchHAClient extends ServiceThread implements HAClient { */ public static final int TRANSFER_HEADER_SIZE = 4 + 8; public static final int MIN_HEADER_SIZE = Math.min(HANDSHAKE_HEADER_SIZE, TRANSFER_HEADER_SIZE); - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); private static final int READ_MAX_BUFFER_SIZE = 1024 * 1024 * 4; private final AtomicReference masterHaAddress = new AtomicReference<>(); private final AtomicReference masterAddress = new AtomicReference<>(); diff --git a/store/src/main/java/org/apache/rocketmq/store/ha/autoswitch/AutoSwitchHAConnection.java b/store/src/main/java/org/apache/rocketmq/store/ha/autoswitch/AutoSwitchHAConnection.java index 659551ff51..de20625aab 100644 --- a/store/src/main/java/org/apache/rocketmq/store/ha/autoswitch/AutoSwitchHAConnection.java +++ b/store/src/main/java/org/apache/rocketmq/store/ha/autoswitch/AutoSwitchHAConnection.java @@ -27,8 +27,8 @@ import java.util.List; import org.apache.rocketmq.common.ServiceThread; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.utils.NetworkUtil; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.netty.NettySystemConfig; import org.apache.rocketmq.remoting.protocol.EpochEntry; import org.apache.rocketmq.store.SelectMappedBufferResult; @@ -47,7 +47,7 @@ public class AutoSwitchHAConnection implements HAConnection { */ public static final int MSG_HEADER_SIZE = 4 + 4 + 8 + 4 + 8 + 8; public static final int EPOCH_ENTRY_SIZE = 12; - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); private final AutoSwitchHAService haService; private final SocketChannel socketChannel; private final String clientAddress; diff --git a/store/src/main/java/org/apache/rocketmq/store/ha/autoswitch/AutoSwitchHAService.java b/store/src/main/java/org/apache/rocketmq/store/ha/autoswitch/AutoSwitchHAService.java index 55ef719a93..dd95879dc5 100644 --- a/store/src/main/java/org/apache/rocketmq/store/ha/autoswitch/AutoSwitchHAService.java +++ b/store/src/main/java/org/apache/rocketmq/store/ha/autoswitch/AutoSwitchHAService.java @@ -32,8 +32,8 @@ import java.util.function.Consumer; import org.apache.rocketmq.common.ThreadFactoryImpl; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.utils.ConcurrentHashMapUtils; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.EpochEntry; import org.apache.rocketmq.remoting.protocol.body.HARuntimeInfo; import org.apache.rocketmq.store.DefaultMessageStore; @@ -51,7 +51,7 @@ import org.apache.rocketmq.store.ha.HAConnectionStateNotificationService; * SwitchAble ha service, support switch role to master or slave. */ public class AutoSwitchHAService extends DefaultHAService { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); private final ExecutorService executorService = Executors.newSingleThreadExecutor(new ThreadFactoryImpl("AutoSwitchHAService_Executor_")); private final List>> syncStateSetChangedListeners = new ArrayList<>(); private final CopyOnWriteArraySet syncStateSet = new CopyOnWriteArraySet<>(); diff --git a/store/src/main/java/org/apache/rocketmq/store/ha/autoswitch/EpochFileCache.java b/store/src/main/java/org/apache/rocketmq/store/ha/autoswitch/EpochFileCache.java index 25c68956ff..468b17e00d 100644 --- a/store/src/main/java/org/apache/rocketmq/store/ha/autoswitch/EpochFileCache.java +++ b/store/src/main/java/org/apache/rocketmq/store/ha/autoswitch/EpochFileCache.java @@ -29,15 +29,15 @@ import java.util.concurrent.locks.ReentrantReadWriteLock; import java.util.function.Predicate; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.utils.CheckpointFile; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.EpochEntry; /** * Cache for epochFile. Mapping (Epoch -> StartOffset) */ public class EpochFileCache { - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); private final ReadWriteLock readWriteLock = new ReentrantReadWriteLock(); private final Lock readLock = this.readWriteLock.readLock(); private final Lock writeLock = this.readWriteLock.writeLock(); diff --git a/store/src/main/java/org/apache/rocketmq/store/ha/io/AbstractHAReader.java b/store/src/main/java/org/apache/rocketmq/store/ha/io/AbstractHAReader.java index d30ce325b8..1052950761 100644 --- a/store/src/main/java/org/apache/rocketmq/store/ha/io/AbstractHAReader.java +++ b/store/src/main/java/org/apache/rocketmq/store/ha/io/AbstractHAReader.java @@ -23,11 +23,11 @@ import java.nio.channels.SocketChannel; import java.util.ArrayList; import java.util.List; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public abstract class AbstractHAReader { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); protected final List readHookList = new ArrayList<>(); public boolean read(SocketChannel socketChannel, ByteBuffer byteBufferRead) { diff --git a/store/src/main/java/org/apache/rocketmq/store/ha/io/HAWriter.java b/store/src/main/java/org/apache/rocketmq/store/ha/io/HAWriter.java index 52677193fb..4835ca8ba6 100644 --- a/store/src/main/java/org/apache/rocketmq/store/ha/io/HAWriter.java +++ b/store/src/main/java/org/apache/rocketmq/store/ha/io/HAWriter.java @@ -23,11 +23,11 @@ import java.nio.channels.SocketChannel; import java.util.ArrayList; import java.util.List; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; public class HAWriter { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); protected final List writeHookList = new ArrayList<>(); public boolean write(SocketChannel socketChannel, ByteBuffer byteBufferWrite) throws IOException { diff --git a/store/src/main/java/org/apache/rocketmq/store/index/IndexFile.java b/store/src/main/java/org/apache/rocketmq/store/index/IndexFile.java index 9ee9709b65..ac675a5bf5 100644 --- a/store/src/main/java/org/apache/rocketmq/store/index/IndexFile.java +++ b/store/src/main/java/org/apache/rocketmq/store/index/IndexFile.java @@ -22,13 +22,13 @@ import java.nio.MappedByteBuffer; import java.util.List; import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.logfile.DefaultMappedFile; import org.apache.rocketmq.store.logfile.MappedFile; public class IndexFile { - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); private static int hashSlotSize = 4; private static int indexSize = 20; private static int invalidIndex = 0; diff --git a/store/src/main/java/org/apache/rocketmq/store/index/IndexService.java b/store/src/main/java/org/apache/rocketmq/store/index/IndexService.java index aa098a0bd7..99b553527e 100644 --- a/store/src/main/java/org/apache/rocketmq/store/index/IndexService.java +++ b/store/src/main/java/org/apache/rocketmq/store/index/IndexService.java @@ -26,8 +26,8 @@ import java.util.concurrent.locks.ReentrantReadWriteLock; import org.apache.rocketmq.common.AbstractBrokerRunnable; import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.sysflag.MessageSysFlag; import org.apache.rocketmq.store.DefaultMessageStore; @@ -35,7 +35,7 @@ import org.apache.rocketmq.store.DispatchRequest; import org.apache.rocketmq.store.config.StorePathConfigHelper; public class IndexService { - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); /** * Maximum times to attempt index file creation. */ diff --git a/store/src/main/java/org/apache/rocketmq/store/kv/CompactionLog.java b/store/src/main/java/org/apache/rocketmq/store/kv/CompactionLog.java index 2ef52ba86b..e826288ce2 100644 --- a/store/src/main/java/org/apache/rocketmq/store/kv/CompactionLog.java +++ b/store/src/main/java/org/apache/rocketmq/store/kv/CompactionLog.java @@ -23,8 +23,8 @@ import org.apache.commons.lang3.StringUtils; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.message.MessageDecoder; import org.apache.rocketmq.common.message.MessageExt; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.AppendMessageResult; import org.apache.rocketmq.store.AppendMessageStatus; import org.apache.rocketmq.store.CompactionAppendMsgCallback; @@ -68,7 +68,7 @@ import java.util.stream.Collectors; import static org.apache.rocketmq.common.message.MessageDecoder.BLANK_MAGIC_CODE; public class CompactionLog { - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); private static final int END_FILE_MIN_BLANK_LENGTH = 4 + 4; private static final int MAX_PULL_MSG_SIZE = 128 * 1024 * 1024; diff --git a/store/src/main/java/org/apache/rocketmq/store/kv/CompactionService.java b/store/src/main/java/org/apache/rocketmq/store/kv/CompactionService.java index d8e796d4e2..32319a8f59 100644 --- a/store/src/main/java/org/apache/rocketmq/store/kv/CompactionService.java +++ b/store/src/main/java/org/apache/rocketmq/store/kv/CompactionService.java @@ -21,8 +21,8 @@ import org.apache.rocketmq.common.TopicConfig; import org.apache.rocketmq.common.attribute.CleanupPolicy; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.utils.CleanupPolicyUtils; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.CommitLog; import org.apache.rocketmq.store.DefaultMessageStore; import org.apache.rocketmq.store.DispatchRequest; @@ -35,7 +35,7 @@ import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.TimeUnit; public class CompactionService extends ServiceThread { - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); private final CompactionStore compactionStore; private final DefaultMessageStore defaultMessageStore; diff --git a/store/src/main/java/org/apache/rocketmq/store/kv/CompactionStore.java b/store/src/main/java/org/apache/rocketmq/store/kv/CompactionStore.java index 84d76c33ee..9e69505e40 100644 --- a/store/src/main/java/org/apache/rocketmq/store/kv/CompactionStore.java +++ b/store/src/main/java/org/apache/rocketmq/store/kv/CompactionStore.java @@ -18,8 +18,8 @@ package org.apache.rocketmq.store.kv; import org.apache.rocketmq.common.ThreadFactoryImpl; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.GetMessageResult; import org.apache.rocketmq.store.MessageStore; import org.apache.rocketmq.store.SelectMappedBufferResult; @@ -53,7 +53,7 @@ public class CompactionStore { private final int offsetMapSize; private String masterAddr; - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); public CompactionStore(MessageStore defaultMessageStore) { this.defaultMessageStore = defaultMessageStore; diff --git a/store/src/main/java/org/apache/rocketmq/store/kv/MessageFetcher.java b/store/src/main/java/org/apache/rocketmq/store/kv/MessageFetcher.java index 004873d57b..ce31440ed3 100644 --- a/store/src/main/java/org/apache/rocketmq/store/kv/MessageFetcher.java +++ b/store/src/main/java/org/apache/rocketmq/store/kv/MessageFetcher.java @@ -25,8 +25,8 @@ import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.consumer.ConsumeFromWhere; import org.apache.rocketmq.common.sysflag.PullSysFlag; import org.apache.rocketmq.common.utils.NetworkUtil; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.RemotingClient; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.exception.RemotingConnectException; @@ -49,7 +49,7 @@ import org.apache.rocketmq.remoting.protocol.heartbeat.SubscriptionData; public class MessageFetcher implements AutoCloseable { - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); private final RemotingClient client; public MessageFetcher() { NettyClientConfig nettyClientConfig = new NettyClientConfig(); diff --git a/store/src/main/java/org/apache/rocketmq/store/logfile/DefaultMappedFile.java b/store/src/main/java/org/apache/rocketmq/store/logfile/DefaultMappedFile.java index 7d53756d53..62c16e9cca 100644 --- a/store/src/main/java/org/apache/rocketmq/store/logfile/DefaultMappedFile.java +++ b/store/src/main/java/org/apache/rocketmq/store/logfile/DefaultMappedFile.java @@ -41,8 +41,8 @@ import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageExtBatch; import org.apache.rocketmq.common.message.MessageExtBrokerInner; import org.apache.rocketmq.common.utils.NetworkUtil; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.AppendMessageCallback; import org.apache.rocketmq.store.AppendMessageResult; import org.apache.rocketmq.store.AppendMessageStatus; @@ -56,7 +56,7 @@ import sun.nio.ch.DirectBuffer; public class DefaultMappedFile extends AbstractMappedFile { public static final int OS_PAGE_SIZE = 1024 * 4; - protected static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + protected static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); protected static final AtomicLong TOTAL_MAPPED_VIRTUAL_MEMORY = new AtomicLong(0); diff --git a/store/src/main/java/org/apache/rocketmq/store/queue/BatchConsumeQueue.java b/store/src/main/java/org/apache/rocketmq/store/queue/BatchConsumeQueue.java index 30d0d31bae..b6ee399d30 100644 --- a/store/src/main/java/org/apache/rocketmq/store/queue/BatchConsumeQueue.java +++ b/store/src/main/java/org/apache/rocketmq/store/queue/BatchConsumeQueue.java @@ -24,8 +24,8 @@ import org.apache.rocketmq.common.message.MessageAccessor; import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.message.MessageDecoder; import org.apache.rocketmq.common.sysflag.MessageSysFlag; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.DispatchRequest; import org.apache.rocketmq.store.MappedFileQueue; import org.apache.rocketmq.common.message.MessageExtBrokerInner; @@ -42,7 +42,7 @@ import java.util.concurrent.ConcurrentSkipListMap; import java.util.function.Function; public class BatchConsumeQueue implements ConsumeQueueInterface, FileQueueLifeCycle { - protected static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + protected static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); //position 8, size 4, tagscode 8, storetime 8, msgBaseOffset 8, batchSize 2, compactedOffset 4, reserved 4 public static final int CQ_STORE_UNIT_SIZE = 46; diff --git a/store/src/main/java/org/apache/rocketmq/store/queue/ConsumeQueueStore.java b/store/src/main/java/org/apache/rocketmq/store/queue/ConsumeQueueStore.java index 5b5766e166..73c318b436 100644 --- a/store/src/main/java/org/apache/rocketmq/store/queue/ConsumeQueueStore.java +++ b/store/src/main/java/org/apache/rocketmq/store/queue/ConsumeQueueStore.java @@ -34,8 +34,8 @@ import org.apache.rocketmq.common.message.MessageDecoder; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.topic.TopicValidator; import org.apache.rocketmq.common.utils.QueueTypeUtils; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.CommitLog; import org.apache.rocketmq.store.ConsumeQueue; import org.apache.rocketmq.store.DefaultMessageStore; @@ -57,7 +57,7 @@ import static org.apache.rocketmq.store.config.StorePathConfigHelper.getStorePat import static org.apache.rocketmq.store.config.StorePathConfigHelper.getStorePathConsumeQueue; public class ConsumeQueueStore { - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); protected final DefaultMessageStore messageStore; protected final MessageStoreConfig messageStoreConfig; diff --git a/store/src/main/java/org/apache/rocketmq/store/queue/QueueOffsetAssigner.java b/store/src/main/java/org/apache/rocketmq/store/queue/QueueOffsetAssigner.java index 4026c4189d..5e87bbc032 100644 --- a/store/src/main/java/org/apache/rocketmq/store/queue/QueueOffsetAssigner.java +++ b/store/src/main/java/org/apache/rocketmq/store/queue/QueueOffsetAssigner.java @@ -21,14 +21,14 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.utils.ConcurrentHashMapUtils; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; /** * QueueOffsetAssigner is a component for assigning offsets for queues. */ public class QueueOffsetAssigner { - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); private ConcurrentMap topicQueueTable = new ConcurrentHashMap<>(1024); private ConcurrentMap batchTopicQueueTable = new ConcurrentHashMap<>(1024); diff --git a/store/src/main/java/org/apache/rocketmq/store/stats/BrokerStats.java b/store/src/main/java/org/apache/rocketmq/store/stats/BrokerStats.java index f7ed67829d..812247a9d8 100644 --- a/store/src/main/java/org/apache/rocketmq/store/stats/BrokerStats.java +++ b/store/src/main/java/org/apache/rocketmq/store/stats/BrokerStats.java @@ -17,12 +17,12 @@ package org.apache.rocketmq.store.stats; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.MessageStore; public class BrokerStats { - private static final Logger log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private final MessageStore defaultMessageStore; diff --git a/store/src/main/java/org/apache/rocketmq/store/stats/BrokerStatsManager.java b/store/src/main/java/org/apache/rocketmq/store/stats/BrokerStatsManager.java index a2c8b9b0b0..7ceb005291 100644 --- a/store/src/main/java/org/apache/rocketmq/store/stats/BrokerStatsManager.java +++ b/store/src/main/java/org/apache/rocketmq/store/stats/BrokerStatsManager.java @@ -33,8 +33,8 @@ import org.apache.rocketmq.common.statistics.StatisticsItemStateGetter; import org.apache.rocketmq.common.statistics.StatisticsKindMeta; import org.apache.rocketmq.common.statistics.StatisticsManager; import org.apache.rocketmq.common.stats.Stats; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.common.stats.MomentStatsItemSet; import org.apache.rocketmq.common.stats.StatsItem; import org.apache.rocketmq.common.stats.StatsItemSet; @@ -123,11 +123,11 @@ public class BrokerStatsManager { /** * read disk follow stats */ - private static final Logger log = LoggerFactory.getLogger(LoggerName.ROCKETMQ_STATS_LOGGER_NAME); - private static final Logger COMMERCIAL_LOG = LoggerFactory.getLogger( + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.ROCKETMQ_STATS_LOGGER_NAME); + private static final InternalLogger COMMERCIAL_LOG = InternalLoggerFactory.getLogger( LoggerName.COMMERCIAL_LOGGER_NAME); - private static final Logger ACCOUNT_LOG = LoggerFactory.getLogger(LoggerName.ACCOUNT_LOGGER_NAME); - private static final Logger DLQ_STAT_LOG = LoggerFactory.getLogger( + private static final InternalLogger ACCOUNT_LOG = InternalLoggerFactory.getLogger(LoggerName.ACCOUNT_LOGGER_NAME); + private static final InternalLogger DLQ_STAT_LOG = InternalLoggerFactory.getLogger( LoggerName.DLQ_STATS_LOGGER_NAME); private ScheduledExecutorService scheduledExecutorService; private ScheduledExecutorService commercialExecutor; @@ -668,7 +668,7 @@ public class BrokerStatsManager { String[] itemNames, ScheduledExecutorService executorService, StatisticsItemFormatter formatter, - Logger log, + InternalLogger log, long interval) { final BrokerConfig brokerConfig = this.brokerConfig; StatisticsItemPrinter printer = new StatisticsItemPrinter(formatter, log); diff --git a/store/src/main/java/org/apache/rocketmq/store/timer/TimerCheckpoint.java b/store/src/main/java/org/apache/rocketmq/store/timer/TimerCheckpoint.java index ec3c0c400f..15594309c9 100644 --- a/store/src/main/java/org/apache/rocketmq/store/timer/TimerCheckpoint.java +++ b/store/src/main/java/org/apache/rocketmq/store/timer/TimerCheckpoint.java @@ -26,13 +26,13 @@ import java.nio.channels.FileChannel.MapMode; import java.util.concurrent.atomic.AtomicLong; import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.DataVersion; import org.apache.rocketmq.store.logfile.DefaultMappedFile; public class TimerCheckpoint { - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); private final RandomAccessFile randomAccessFile; private final FileChannel fileChannel; private final MappedByteBuffer mappedByteBuffer; diff --git a/store/src/main/java/org/apache/rocketmq/store/timer/TimerLog.java b/store/src/main/java/org/apache/rocketmq/store/timer/TimerLog.java index be3fe2fcd7..de4257125d 100644 --- a/store/src/main/java/org/apache/rocketmq/store/timer/TimerLog.java +++ b/store/src/main/java/org/apache/rocketmq/store/timer/TimerLog.java @@ -17,8 +17,8 @@ package org.apache.rocketmq.store.timer; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.logfile.MappedFile; import org.apache.rocketmq.store.MappedFileQueue; import org.apache.rocketmq.store.SelectMappedBufferResult; @@ -26,7 +26,7 @@ import org.apache.rocketmq.store.SelectMappedBufferResult; import java.nio.ByteBuffer; public class TimerLog { - private static Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); public final static int BLANK_MAGIC_CODE = 0xBBCCDDEE ^ 1880681586 + 8; private final static int MIN_BLANK_LEN = 4 + 8 + 4; public final static int UNIT_SIZE = 4 //size diff --git a/store/src/main/java/org/apache/rocketmq/store/timer/TimerMessageStore.java b/store/src/main/java/org/apache/rocketmq/store/timer/TimerMessageStore.java index d3af64292f..4f8e5ec5bd 100644 --- a/store/src/main/java/org/apache/rocketmq/store/timer/TimerMessageStore.java +++ b/store/src/main/java/org/apache/rocketmq/store/timer/TimerMessageStore.java @@ -30,8 +30,9 @@ import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.message.MessageDecoder; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.topic.TopicValidator; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InnerLoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.ConsumeQueue; import org.apache.rocketmq.store.DefaultMessageStore; import org.apache.rocketmq.store.logfile.MappedFile; @@ -87,7 +88,7 @@ public class TimerMessageStore { public static final int MAGIC_DELETE = 1 << 2; public boolean debug = false; - private static final Logger LOGGER = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger LOGGER = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); private final PerfCounter.Ticks perfs = new PerfCounter.Ticks(LOGGER); private final BlockingQueue enqueuePutQueue; private final BlockingQueue> dequeueGetQueue; @@ -438,7 +439,7 @@ public class TimerMessageStore { @Override public void run() { if (TimerMessageStore.this.messageStore instanceof DefaultMessageStore && ((DefaultMessageStore) TimerMessageStore.this.messageStore).getBrokerConfig().isInBrokerContainer()) { -// InnerLoggerFactory.BROKER_IDENTITY.set(((DefaultMessageStore) TimerMessageStore.this.messageStore).getBrokerConfig().getLoggerIdentifier()); + InnerLoggerFactory.BROKER_IDENTITY.set(((DefaultMessageStore) TimerMessageStore.this.messageStore).getBrokerConfig().getLoggerIdentifier()); } try { long minPy = messageStore.getMinPhyOffset(); @@ -454,7 +455,7 @@ public class TimerMessageStore { @Override public void run() { if (TimerMessageStore.this.messageStore instanceof DefaultMessageStore && ((DefaultMessageStore) TimerMessageStore.this.messageStore).getBrokerConfig().isInBrokerContainer()) { -// InnerLoggerFactory.BROKER_IDENTITY.set(((DefaultMessageStore) TimerMessageStore.this.messageStore).getBrokerConfig().getLoggerIdentifier()); + InnerLoggerFactory.BROKER_IDENTITY.set(((DefaultMessageStore) TimerMessageStore.this.messageStore).getBrokerConfig().getLoggerIdentifier()); } try { if (storeConfig.isTimerEnableCheckMetrics()) { diff --git a/store/src/main/java/org/apache/rocketmq/store/timer/TimerMetrics.java b/store/src/main/java/org/apache/rocketmq/store/timer/TimerMetrics.java index 8ce631a593..bb179afd3d 100644 --- a/store/src/main/java/org/apache/rocketmq/store/timer/TimerMetrics.java +++ b/store/src/main/java/org/apache/rocketmq/store/timer/TimerMetrics.java @@ -39,13 +39,13 @@ import java.util.concurrent.locks.ReentrantLock; import org.apache.rocketmq.common.ConfigManager; import org.apache.rocketmq.common.constant.LoggerName; import org.apache.rocketmq.common.topic.TopicValidator; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.remoting.protocol.DataVersion; import org.apache.rocketmq.remoting.protocol.RemotingSerializable; public class TimerMetrics extends ConfigManager { - private static final Logger log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); private static final long LOCK_TIMEOUT_MILLIS = 3000; private transient final Lock lock = new ReentrantLock(); diff --git a/store/src/main/java/org/apache/rocketmq/store/timer/TimerWheel.java b/store/src/main/java/org/apache/rocketmq/store/timer/TimerWheel.java index c69e19f3f7..5ad6eb0920 100644 --- a/store/src/main/java/org/apache/rocketmq/store/timer/TimerWheel.java +++ b/store/src/main/java/org/apache/rocketmq/store/timer/TimerWheel.java @@ -18,8 +18,8 @@ package org.apache.rocketmq.store.timer; import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.constant.LoggerName; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import java.io.File; import java.io.FileNotFoundException; @@ -31,7 +31,7 @@ import java.nio.channels.FileChannel; public class TimerWheel { - private static final Logger log = LoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); + private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.STORE_LOGGER_NAME); public static final int BLANK = -1, IGNORE = -2; public final int slotsTotal; public final int precisionMs; diff --git a/store/src/main/java/org/apache/rocketmq/store/util/PerfCounter.java b/store/src/main/java/org/apache/rocketmq/store/util/PerfCounter.java index 07ef67e809..2ba83161c5 100644 --- a/store/src/main/java/org/apache/rocketmq/store/util/PerfCounter.java +++ b/store/src/main/java/org/apache/rocketmq/store/util/PerfCounter.java @@ -17,7 +17,7 @@ package org.apache.rocketmq.store.util; import org.apache.rocketmq.common.ServiceThread; -import org.apache.rocketmq.shade.org.slf4j.Logger; +import org.apache.rocketmq.logging.InternalLogger; import java.sql.Timestamp; import java.util.Iterator; @@ -38,7 +38,7 @@ public class PerfCounter { } }; - private final Logger logger; + private final InternalLogger logger; private String prefix = "DEFAULT"; public float getLastTps() { @@ -59,7 +59,7 @@ public class PerfCounter { this(5001, null, null, 1000 * 1000, 10 * 1000); } - public PerfCounter(int slots, Logger logger, String prefix, int maxNumPerCount, int maxTimeMsPerCount) { + public PerfCounter(int slots, InternalLogger logger, String prefix, int maxNumPerCount, int maxTimeMsPerCount) { if (slots < 3000) { throw new RuntimeException("slots must bigger than 3000, but:%s" + slots); } @@ -218,7 +218,7 @@ public class PerfCounter { } public static class Ticks extends ServiceThread { - private final Logger logger; + private final InternalLogger logger; private final Map perfs = new ConcurrentHashMap<>(); private final Map keyFreqs = new ConcurrentHashMap<>(); private final PerfCounter defaultPerf; @@ -234,7 +234,7 @@ public class PerfCounter { this(null, 1000 * 1000, 10 * 1000, 20 * 1000, 100 * 1000); } - public Ticks(Logger logger) { + public Ticks(InternalLogger logger) { this(logger, 1000 * 1000, 10 * 1000, 20 * 1000, 100 * 1000); } @@ -243,7 +243,7 @@ public class PerfCounter { return this.getClass().getName(); } - public Ticks(Logger logger, int maxNumPerCount, int maxTimeMsPerCount, int maxKeyNumPerf, int maxKeyNumDebug) { + public Ticks(InternalLogger logger, int maxNumPerCount, int maxTimeMsPerCount, int maxKeyNumPerf, int maxKeyNumDebug) { this.logger = logger; this.maxNumPerCount = maxNumPerCount; this.maxTimeMsPerCount = maxTimeMsPerCount; diff --git a/store/src/test/java/org/apache/rocketmq/store/StoreTestUtil.java b/store/src/test/java/org/apache/rocketmq/store/StoreTestUtil.java index 4365dd3544..0196c6d6df 100644 --- a/store/src/test/java/org/apache/rocketmq/store/StoreTestUtil.java +++ b/store/src/test/java/org/apache/rocketmq/store/StoreTestUtil.java @@ -21,8 +21,8 @@ import io.openmessaging.storage.dledger.store.file.MmapFile; import java.io.IOException; import java.util.List; import org.apache.commons.lang3.SystemUtils; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.store.index.IndexFile; import org.apache.rocketmq.store.index.IndexService; @@ -34,7 +34,7 @@ import java.util.ArrayList; public class StoreTestUtil { - private static final Logger log = LoggerFactory.getLogger(StoreTestUtil.class); + private static final InternalLogger log = InternalLoggerFactory.getLogger(StoreTestUtil.class); public static boolean isCommitLogAvailable(DefaultMessageStore store) { try { diff --git a/acl/src/test/resources/rmq.logback-test.xml b/store/src/test/resources/logback-test.xml similarity index 63% rename from acl/src/test/resources/rmq.logback-test.xml rename to store/src/test/resources/logback-test.xml index c3ec0d1e81..a033816dda 100644 --- a/acl/src/test/resources/rmq.logback-test.xml +++ b/store/src/test/resources/logback-test.xml @@ -17,20 +17,19 @@ --> - - - - %d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n - - + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n + UTF-8 + - - + + - - + + - \ No newline at end of file + diff --git a/store/src/test/resources/rmq.logback-test.xml b/store/src/test/resources/rmq.logback-test.xml deleted file mode 100644 index c3ec0d1e81..0000000000 --- a/store/src/test/resources/rmq.logback-test.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - %d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n - - - - - - - - - - - - - \ No newline at end of file diff --git a/test/BUILD.bazel b/test/BUILD.bazel index d1ebc6b181..37f63369f8 100644 --- a/test/BUILD.bazel +++ b/test/BUILD.bazel @@ -26,6 +26,7 @@ java_library( "//common", "//container", "//controller", + "//logging", "//namesrv", "//proxy", "//remoting", @@ -42,12 +43,12 @@ java_library( "@maven//:commons_validator_commons_validator", "@maven//:io_netty_netty_all", "@maven//:javax_annotation_javax_annotation_api", + "@maven//:log4j_log4j", "@maven//:org_apache_commons_commons_lang3", "@maven//:org_awaitility_awaitility", "@maven//:org_lz4_lz4_java", "@maven//:org_reflections_reflections", "@maven//:org_slf4j_slf4j_api", - "@maven//:io_github_aliyun_mq_rocketmq_slf4j_api", ], ) @@ -58,7 +59,8 @@ java_library( "src/test/resources/rmq-proxy-home/conf/broker.conf", "src/test/resources/rmq-proxy-home/conf/logback_proxy.xml", "src/test/resources/rmq-proxy-home/conf/rmq-proxy.json", - "src/test/resources/rmq.logback-test.xml", + "src/test/resources/log4j.xml", + "src/test/resources/logback-test.xml", ] + glob(["src/test/resources/schema/**/*.schema"]), visibility = ["//visibility:public"], deps = [ @@ -69,6 +71,7 @@ java_library( "//common", "//container", "//controller", + "//logging", "//namesrv", "//proxy", "//remoting", @@ -84,10 +87,10 @@ java_library( "@maven//:io_grpc_grpc_stub", "@maven//:io_grpc_grpc_testing", "@maven//:io_netty_netty_all", + "@maven//:log4j_log4j", "@maven//:org_apache_commons_commons_lang3", "@maven//:org_apache_rocketmq_rocketmq_proto", "@maven//:org_slf4j_slf4j_api", - "@maven//:io_github_aliyun_mq_rocketmq_slf4j_api", ], ) diff --git a/test/pom.xml b/test/pom.xml index 977c860ab5..17c51cadef 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -16,9 +16,7 @@ ~ limitations under the License. --> - + rocketmq-all org.apache.rocketmq @@ -34,6 +32,10 @@ + + log4j + log4j + ${project.groupId} rocketmq-proto @@ -45,22 +47,18 @@ ${project.groupId} rocketmq-proxy - ${project.version} ${project.groupId} rocketmq-broker - ${project.version} ${project.groupId} rocketmq-namesrv - ${project.version} ${project.groupId} rocketmq-container - ${project.version} org.apache.tomcat @@ -81,12 +79,10 @@ ${project.groupId} rocketmq-client - ${project.version} ${project.groupId} rocketmq-tools - ${project.version} io.grpc @@ -101,19 +97,6 @@ org.reflections reflections - - io.github.aliyun-mq - rocketmq-slf4j-api - - - io.github.aliyun-mq - rocketmq-logback-classic - - - org.slf4j - slf4j-api - test - diff --git a/test/src/main/java/org/apache/rocketmq/test/client/mq/MQAsyncProducer.java b/test/src/main/java/org/apache/rocketmq/test/client/mq/MQAsyncProducer.java index b4711424a1..6b2357bd83 100644 --- a/test/src/main/java/org/apache/rocketmq/test/client/mq/MQAsyncProducer.java +++ b/test/src/main/java/org/apache/rocketmq/test/client/mq/MQAsyncProducer.java @@ -18,14 +18,12 @@ package org.apache.rocketmq.test.client.mq; import java.util.concurrent.atomic.AtomicBoolean; - -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.log4j.Logger; import org.apache.rocketmq.test.clientinterface.AbstractMQProducer; import org.apache.rocketmq.test.util.TestUtil; public class MQAsyncProducer { - private static Logger logger = LoggerFactory.getLogger(MQAsyncProducer.class); + private static Logger logger = Logger.getLogger(MQAsyncProducer.class); private AbstractMQProducer producer = null; private long msgNum; private int intervalMills; diff --git a/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQAsyncSendProducer.java b/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQAsyncSendProducer.java index 852aae562e..d28a5fd3aa 100644 --- a/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQAsyncSendProducer.java +++ b/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQAsyncSendProducer.java @@ -22,6 +22,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; +import org.apache.log4j.Logger; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.client.producer.DefaultMQProducer; import org.apache.rocketmq.client.producer.MessageQueueSelector; @@ -29,15 +30,13 @@ import org.apache.rocketmq.client.producer.SendCallback; import org.apache.rocketmq.client.producer.SendResult; import org.apache.rocketmq.common.message.Message; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.clientinterface.AbstractMQProducer; import org.apache.rocketmq.test.sendresult.ResultWrapper; import org.apache.rocketmq.test.util.RandomUtil; import org.apache.rocketmq.test.util.TestUtil; public class RMQAsyncSendProducer extends AbstractMQProducer { - private static Logger logger = LoggerFactory + private static Logger logger = Logger .getLogger(RMQAsyncSendProducer.class); private String nsAddr = null; private DefaultMQProducer producer = null; diff --git a/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQBroadCastConsumer.java b/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQBroadCastConsumer.java index 75224a6894..83ed81c20c 100644 --- a/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQBroadCastConsumer.java +++ b/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQBroadCastConsumer.java @@ -17,13 +17,12 @@ package org.apache.rocketmq.test.client.rmq; +import org.apache.log4j.Logger; import org.apache.rocketmq.remoting.protocol.heartbeat.MessageModel; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.listener.AbstractListener; public class RMQBroadCastConsumer extends RMQNormalConsumer { - private static Logger logger = LoggerFactory.getLogger(RMQBroadCastConsumer.class); + private static Logger logger = Logger.getLogger(RMQBroadCastConsumer.class); public RMQBroadCastConsumer(String nsAddr, String topic, String subExpression, String consumerGroup, AbstractListener listner) { diff --git a/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQNormalConsumer.java b/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQNormalConsumer.java index a78f2ab358..7cbeaa8109 100644 --- a/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQNormalConsumer.java +++ b/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQNormalConsumer.java @@ -17,17 +17,16 @@ package org.apache.rocketmq.test.client.rmq; +import org.apache.log4j.Logger; import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; import org.apache.rocketmq.client.exception.MQClientException; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.clientinterface.AbstractMQConsumer; import org.apache.rocketmq.test.listener.AbstractListener; import org.apache.rocketmq.test.util.RandomUtil; public class RMQNormalConsumer extends AbstractMQConsumer { - private static final Logger LOGGER = LoggerFactory.getLogger(RMQNormalConsumer.class); + private static final Logger LOGGER = Logger.getLogger(RMQNormalConsumer.class); protected DefaultMQPushConsumer consumer = null; public RMQNormalConsumer(String nsAddr, String topic, String subExpression, diff --git a/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQNormalProducer.java b/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQNormalProducer.java index 1508391f6d..eb8cf44be9 100644 --- a/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQNormalProducer.java +++ b/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQNormalProducer.java @@ -20,18 +20,17 @@ package org.apache.rocketmq.test.client.rmq; import java.nio.charset.StandardCharsets; import java.util.List; import java.util.Map; +import org.apache.log4j.Logger; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.client.producer.DefaultMQProducer; import org.apache.rocketmq.client.producer.SendStatus; import org.apache.rocketmq.common.message.Message; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.clientinterface.AbstractMQProducer; import org.apache.rocketmq.test.sendresult.ResultWrapper; public class RMQNormalProducer extends AbstractMQProducer { - private static Logger logger = LoggerFactory.getLogger(RMQNormalProducer.class); + private static Logger logger = Logger.getLogger(RMQNormalProducer.class); private DefaultMQProducer producer = null; private String nsAddr = null; @@ -95,21 +94,21 @@ public class RMQNormalProducer extends AbstractMQProducer { } public ResultWrapper send(Object msg, Object orderKey) { - org.apache.rocketmq.client.producer.SendResult internalSendResult = null; + org.apache.rocketmq.client.producer.SendResult metaqResult = null; Message message = (Message) msg; try { long start = System.currentTimeMillis(); - internalSendResult = producer.send(message); + metaqResult = producer.send(message); this.msgRTs.addData(System.currentTimeMillis() - start); if (isDebug) { - logger.info("SendResult: {}", internalSendResult); + logger.info(metaqResult); } - sendResult.setMsgId(internalSendResult.getMsgId()); - sendResult.setSendResult(internalSendResult.getSendStatus().equals(SendStatus.SEND_OK)); - sendResult.setBrokerIp(internalSendResult.getMessageQueue().getBrokerName()); + sendResult.setMsgId(metaqResult.getMsgId()); + sendResult.setSendResult(metaqResult.getSendStatus().equals(SendStatus.SEND_OK)); + sendResult.setBrokerIp(metaqResult.getMessageQueue().getBrokerName()); msgBodys.addData(new String(message.getBody(), StandardCharsets.UTF_8)); originMsgs.addData(msg); - originMsgIndex.put(new String(message.getBody(), StandardCharsets.UTF_8), internalSendResult); + originMsgIndex.put(new String(message.getBody(), StandardCharsets.UTF_8), metaqResult); } catch (Exception e) { if (isDebug) { e.printStackTrace(); @@ -142,20 +141,20 @@ public class RMQNormalProducer extends AbstractMQProducer { } public ResultWrapper sendMQ(Message msg, MessageQueue mq) { - org.apache.rocketmq.client.producer.SendResult internalSendResult = null; + org.apache.rocketmq.client.producer.SendResult metaqResult = null; try { long start = System.currentTimeMillis(); - internalSendResult = producer.send(msg, mq); + metaqResult = producer.send(msg, mq); this.msgRTs.addData(System.currentTimeMillis() - start); if (isDebug) { - logger.info("SendResult: {}", internalSendResult); + logger.info(metaqResult); } - sendResult.setMsgId(internalSendResult.getMsgId()); - sendResult.setSendResult(internalSendResult.getSendStatus().equals(SendStatus.SEND_OK)); - sendResult.setBrokerIp(internalSendResult.getMessageQueue().getBrokerName()); + sendResult.setMsgId(metaqResult.getMsgId()); + sendResult.setSendResult(metaqResult.getSendStatus().equals(SendStatus.SEND_OK)); + sendResult.setBrokerIp(metaqResult.getMessageQueue().getBrokerName()); msgBodys.addData(new String(msg.getBody(), StandardCharsets.UTF_8)); originMsgs.addData(msg); - originMsgIndex.put(new String(msg.getBody(), StandardCharsets.UTF_8), internalSendResult); + originMsgIndex.put(new String(msg.getBody(), StandardCharsets.UTF_8), metaqResult); } catch (Exception e) { if (isDebug) { e.printStackTrace(); diff --git a/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQPopConsumer.java b/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQPopConsumer.java index 0cd9e0e019..49a06bb761 100644 --- a/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQPopConsumer.java +++ b/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQPopConsumer.java @@ -20,6 +20,7 @@ package org.apache.rocketmq.test.client.rmq; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeoutException; +import org.apache.log4j.Logger; import org.apache.rocketmq.client.consumer.AckResult; import org.apache.rocketmq.client.consumer.PopResult; import org.apache.rocketmq.client.exception.MQBrokerException; @@ -28,14 +29,12 @@ import org.apache.rocketmq.common.constant.ConsumeInitMode; import org.apache.rocketmq.common.filter.ExpressionType; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.remoting.exception.RemotingException; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.factory.ConsumerFactory; import org.apache.rocketmq.test.listener.AbstractListener; public class RMQPopConsumer extends RMQNormalConsumer { - private static final Logger log = LoggerFactory.getLogger(RMQPopConsumer.class); + private static final Logger log = Logger.getLogger(RMQPopConsumer.class); public static final long POP_TIMEOUT = 3000; public static final long DEFAULT_INVISIBLE_TIME = 30000; diff --git a/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQSqlConsumer.java b/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQSqlConsumer.java index 2d07082c8d..3c03ee714e 100644 --- a/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQSqlConsumer.java +++ b/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQSqlConsumer.java @@ -17,13 +17,12 @@ package org.apache.rocketmq.test.client.rmq; +import org.apache.log4j.Logger; import org.apache.rocketmq.client.consumer.MessageSelector; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.listener.AbstractListener; public class RMQSqlConsumer extends RMQNormalConsumer { - private static Logger logger = LoggerFactory.getLogger(RMQSqlConsumer.class); + private static Logger logger = Logger.getLogger(RMQSqlConsumer.class); private MessageSelector selector; public RMQSqlConsumer(String nsAddr, String topic, MessageSelector selector, diff --git a/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQTransactionalProducer.java b/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQTransactionalProducer.java index 463622daaa..69563e0e10 100644 --- a/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQTransactionalProducer.java +++ b/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQTransactionalProducer.java @@ -18,19 +18,18 @@ package org.apache.rocketmq.test.client.rmq; import java.nio.charset.StandardCharsets; +import org.apache.log4j.Logger; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.client.producer.LocalTransactionState; import org.apache.rocketmq.client.producer.TransactionListener; import org.apache.rocketmq.client.producer.TransactionMQProducer; import org.apache.rocketmq.common.Pair; import org.apache.rocketmq.common.message.Message; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.clientinterface.AbstractMQProducer; import org.apache.rocketmq.test.sendresult.ResultWrapper; public class RMQTransactionalProducer extends AbstractMQProducer { - private static Logger logger = LoggerFactory.getLogger(RMQTransactionalProducer.class); + private static Logger logger = Logger.getLogger(RMQTransactionalProducer.class); private TransactionMQProducer producer = null; private String nsAddr = null; @@ -63,7 +62,7 @@ public class RMQTransactionalProducer extends AbstractMQProducer { super.setStartSuccess(true); } catch (MQClientException e) { super.setStartSuccess(false); - logger.error("", e); + logger.error(e); e.printStackTrace(); } } @@ -78,7 +77,7 @@ public class RMQTransactionalProducer extends AbstractMQProducer { metaqResult = producer.sendMessageInTransaction(message, arg); this.msgRTs.addData(System.currentTimeMillis() - start); if (isDebug) { - logger.info("SendResult: {}", metaqResult); + logger.info(metaqResult); } sendResult.setMsgId(metaqResult.getMsgId()); sendResult.setSendResult(true); diff --git a/test/src/main/java/org/apache/rocketmq/test/listener/AbstractListener.java b/test/src/main/java/org/apache/rocketmq/test/listener/AbstractListener.java index a5dc4c6c7b..10eedd1b90 100644 --- a/test/src/main/java/org/apache/rocketmq/test/listener/AbstractListener.java +++ b/test/src/main/java/org/apache/rocketmq/test/listener/AbstractListener.java @@ -21,14 +21,13 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Map; +import org.apache.log4j.Logger; import org.apache.rocketmq.client.consumer.listener.MessageListener; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.clientinterface.MQCollector; import org.apache.rocketmq.test.util.TestUtil; public class AbstractListener extends MQCollector implements MessageListener { - public static final Logger LOGGER = LoggerFactory.getLogger(AbstractListener.class); + public static final Logger LOGGER = Logger.getLogger(AbstractListener.class); protected boolean isDebug = true; protected String listenerName = null; protected Collection allSendMsgs = null; @@ -106,7 +105,7 @@ public class AbstractListener extends MQCollector implements MessageListener { public void waitForMessageConsume(Map sendMsgIndex, int timeoutMills) { Collection notRecvMsgs = waitForMessageConsume(sendMsgIndex.keySet(), timeoutMills); for (Object object : notRecvMsgs) { - LOGGER.info("{}", sendMsgIndex.get(object)); + LOGGER.info(sendMsgIndex.get(object)); } } } diff --git a/test/src/main/java/org/apache/rocketmq/test/listener/rmq/concurrent/RMQNormalListener.java b/test/src/main/java/org/apache/rocketmq/test/listener/rmq/concurrent/RMQNormalListener.java index 1a0345b307..6782168106 100644 --- a/test/src/main/java/org/apache/rocketmq/test/listener/rmq/concurrent/RMQNormalListener.java +++ b/test/src/main/java/org/apache/rocketmq/test/listener/rmq/concurrent/RMQNormalListener.java @@ -65,7 +65,7 @@ public class RMQNormalListener extends AbstractListener implements MessageListen msg.getMsgId(), msg.getStoreHost(), msg.getQueueId(), msg.getQueueOffset())); } else { - LOGGER.info("{}", msg); + LOGGER.info(msg); } } diff --git a/test/src/main/java/org/apache/rocketmq/test/listener/rmq/order/RMQOrderListener.java b/test/src/main/java/org/apache/rocketmq/test/listener/rmq/order/RMQOrderListener.java index 85e249ef9c..bddb349147 100644 --- a/test/src/main/java/org/apache/rocketmq/test/listener/rmq/order/RMQOrderListener.java +++ b/test/src/main/java/org/apache/rocketmq/test/listener/rmq/order/RMQOrderListener.java @@ -73,7 +73,7 @@ public class RMQOrderListener extends AbstractListener implements MessageListene if (listenerName != null && listenerName != "") { LOGGER.info(listenerName + ": " + msg); } else { - LOGGER.info("{}", msg); + LOGGER.info(msg); } } diff --git a/test/src/main/java/org/apache/rocketmq/test/lmq/benchmark/BenchLmqStore.java b/test/src/main/java/org/apache/rocketmq/test/lmq/benchmark/BenchLmqStore.java index f15f122261..ac2da4f9e5 100644 --- a/test/src/main/java/org/apache/rocketmq/test/lmq/benchmark/BenchLmqStore.java +++ b/test/src/main/java/org/apache/rocketmq/test/lmq/benchmark/BenchLmqStore.java @@ -48,9 +48,9 @@ import org.apache.rocketmq.remoting.exception.RemotingException; import org.apache.rocketmq.remoting.protocol.header.QueryConsumerOffsetRequestHeader; import org.apache.rocketmq.remoting.protocol.header.UpdateConsumerOffsetRequestHeader; import org.apache.rocketmq.remoting.protocol.route.TopicRouteData; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.util.StatUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class BenchLmqStore { private static Logger logger = LoggerFactory.getLogger(BenchLmqStore.class); diff --git a/test/src/main/java/org/apache/rocketmq/test/util/MQAdminTestUtils.java b/test/src/main/java/org/apache/rocketmq/test/util/MQAdminTestUtils.java index 122df3b366..a32ebd934a 100644 --- a/test/src/main/java/org/apache/rocketmq/test/util/MQAdminTestUtils.java +++ b/test/src/main/java/org/apache/rocketmq/test/util/MQAdminTestUtils.java @@ -26,6 +26,7 @@ import java.util.concurrent.TimeUnit; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.DefaultParser; import org.apache.commons.cli.Options; +import org.apache.log4j.Logger; import org.apache.rocketmq.client.exception.MQBrokerException; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.client.impl.factory.MQClientInstance; @@ -41,8 +42,6 @@ import org.apache.rocketmq.remoting.protocol.statictopic.TopicQueueMappingUtils; import org.apache.rocketmq.remoting.protocol.statictopic.TopicRemappingDetailWrapper; import org.apache.rocketmq.remoting.protocol.subscription.SubscriptionGroupConfig; import org.apache.rocketmq.remoting.rpc.ClientMetadata; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.srvutil.ServerUtil; import org.apache.rocketmq.tools.admin.DefaultMQAdminExt; import org.apache.rocketmq.tools.admin.MQAdminUtils; @@ -54,7 +53,7 @@ import static org.apache.rocketmq.remoting.protocol.statictopic.TopicQueueMappin import static org.awaitility.Awaitility.await; public class MQAdminTestUtils { - private static Logger log = LoggerFactory.getLogger(MQAdminTestUtils.class); + private static Logger log = Logger.getLogger(MQAdminTestUtils.class); public static boolean createTopic(String nameSrvAddr, String clusterName, String topic, int queueNum, Map attributes) { diff --git a/test/src/main/java/org/apache/rocketmq/test/util/MQWait.java b/test/src/main/java/org/apache/rocketmq/test/util/MQWait.java index b1611e93fe..0c24427d92 100644 --- a/test/src/main/java/org/apache/rocketmq/test/util/MQWait.java +++ b/test/src/main/java/org/apache/rocketmq/test/util/MQWait.java @@ -20,15 +20,13 @@ package org.apache.rocketmq.test.util; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; - -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.log4j.Logger; import org.apache.rocketmq.test.listener.AbstractListener; import static com.google.common.truth.Truth.assertThat; public class MQWait { - private static Logger logger = LoggerFactory.getLogger(MQWait.class); + private static Logger logger = Logger.getLogger(MQWait.class); public static boolean waitConsumeAll(int timeoutMills, Collection allSendMsgs, AbstractListener... listeners) { diff --git a/test/src/main/java/org/apache/rocketmq/test/util/StatUtil.java b/test/src/main/java/org/apache/rocketmq/test/util/StatUtil.java index fab64f8e40..5645d66dac 100644 --- a/test/src/main/java/org/apache/rocketmq/test/util/StatUtil.java +++ b/test/src/main/java/org/apache/rocketmq/test/util/StatUtil.java @@ -30,8 +30,9 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; import javax.annotation.Generated; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import static java.math.BigDecimal.ROUND_HALF_UP; diff --git a/test/src/main/java/org/apache/rocketmq/test/util/VerifyUtils.java b/test/src/main/java/org/apache/rocketmq/test/util/VerifyUtils.java index 0c22946d1a..af4ecca1b5 100644 --- a/test/src/main/java/org/apache/rocketmq/test/util/VerifyUtils.java +++ b/test/src/main/java/org/apache/rocketmq/test/util/VerifyUtils.java @@ -20,12 +20,11 @@ package org.apache.rocketmq.test.util; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; +import org.apache.log4j.Logger; import org.apache.rocketmq.common.message.MessageExt; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; public class VerifyUtils { - private static Logger logger = LoggerFactory.getLogger(VerifyUtils.class); + private static Logger logger = Logger.getLogger(VerifyUtils.class); public static int verify(Collection sendMsgs, Collection recvMsgs) { int miss = 0; diff --git a/test/src/test/java/org/apache/rocketmq/test/base/BaseConf.java b/test/src/test/java/org/apache/rocketmq/test/base/BaseConf.java index 631343f8f4..491f1beded 100644 --- a/test/src/test/java/org/apache/rocketmq/test/base/BaseConf.java +++ b/test/src/test/java/org/apache/rocketmq/test/base/BaseConf.java @@ -38,8 +38,6 @@ import org.apache.rocketmq.common.attribute.TopicMessageType; import org.apache.rocketmq.namesrv.NamesrvController; import org.apache.rocketmq.remoting.protocol.RemotingCommand; import org.apache.rocketmq.remoting.protocol.route.BrokerData; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.client.rmq.RMQAsyncSendProducer; import org.apache.rocketmq.test.client.rmq.RMQNormalConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -54,6 +52,8 @@ import org.apache.rocketmq.test.util.MQRandomUtils; import org.apache.rocketmq.tools.admin.DefaultMQAdminExt; import org.apache.rocketmq.tools.admin.MQAdminExt; import org.junit.Assert; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import static org.awaitility.Awaitility.await; diff --git a/test/src/test/java/org/apache/rocketmq/test/base/IntegrationTestBase.java b/test/src/test/java/org/apache/rocketmq/test/base/IntegrationTestBase.java index 5fa0e142b0..32760dccd3 100644 --- a/test/src/test/java/org/apache/rocketmq/test/base/IntegrationTestBase.java +++ b/test/src/test/java/org/apache/rocketmq/test/base/IntegrationTestBase.java @@ -34,8 +34,8 @@ import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.attribute.CQType; import org.apache.rocketmq.common.attribute.TopicMessageType; import org.apache.rocketmq.common.namesrv.NamesrvConfig; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.namesrv.NamesrvController; import org.apache.rocketmq.remoting.netty.NettyClientConfig; import org.apache.rocketmq.remoting.netty.NettyServerConfig; @@ -43,7 +43,7 @@ import org.apache.rocketmq.store.config.MessageStoreConfig; import org.apache.rocketmq.test.util.MQAdminTestUtils; public class IntegrationTestBase { - public static Logger logger = LoggerFactory.getLogger(IntegrationTestBase.class); + public static InternalLogger logger = InternalLoggerFactory.getLogger(IntegrationTestBase.class); protected static final String SEP = File.separator; protected static final String BROKER_NAME_PREFIX = "TestBrokerName_"; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/consumer/balance/NormalMsgDynamicBalanceIT.java b/test/src/test/java/org/apache/rocketmq/test/client/consumer/balance/NormalMsgDynamicBalanceIT.java index bb174440ff..60a8cd4af0 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/consumer/balance/NormalMsgDynamicBalanceIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/consumer/balance/NormalMsgDynamicBalanceIT.java @@ -17,8 +17,7 @@ package org.apache.rocketmq.test.client.consumer.balance; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.log4j.Logger; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.rmq.RMQNormalConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -34,7 +33,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class NormalMsgDynamicBalanceIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(NormalMsgStaticBalanceIT.class); + private static Logger logger = Logger.getLogger(NormalMsgStaticBalanceIT.class); private RMQNormalProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/consumer/balance/NormalMsgStaticBalanceIT.java b/test/src/test/java/org/apache/rocketmq/test/client/consumer/balance/NormalMsgStaticBalanceIT.java index 3e757fc188..201965c6a2 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/consumer/balance/NormalMsgStaticBalanceIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/consumer/balance/NormalMsgStaticBalanceIT.java @@ -17,8 +17,6 @@ package org.apache.rocketmq.test.client.consumer.balance; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.rmq.RMQNormalConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -30,6 +28,8 @@ import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import static com.google.common.truth.Truth.assertThat; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/BaseBroadcast.java b/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/BaseBroadcast.java index cc3fd8f75c..4eff93951a 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/BaseBroadcast.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/BaseBroadcast.java @@ -17,15 +17,14 @@ package org.apache.rocketmq.test.client.consumer.broadcast; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.log4j.Logger; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.rmq.RMQBroadCastConsumer; import org.apache.rocketmq.test.factory.ConsumerFactory; import org.apache.rocketmq.test.listener.AbstractListener; public class BaseBroadcast extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(BaseBroadcast.class); + private static Logger logger = Logger.getLogger(BaseBroadcast.class); public static RMQBroadCastConsumer getBroadCastConsumer(String nsAddr, String topic, String subExpression, diff --git a/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/BroadcastNormalMsgNotReceiveIT.java b/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/BroadcastNormalMsgNotReceiveIT.java index 8f4769c046..cb3fc6044e 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/BroadcastNormalMsgNotReceiveIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/BroadcastNormalMsgNotReceiveIT.java @@ -17,8 +17,7 @@ package org.apache.rocketmq.test.client.consumer.broadcast.normal; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.log4j.Logger; import org.apache.rocketmq.test.client.consumer.broadcast.BaseBroadcast; import org.apache.rocketmq.test.client.rmq.RMQBroadCastConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -32,7 +31,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class BroadcastNormalMsgNotReceiveIT extends BaseBroadcast { - private static Logger logger = LoggerFactory + private static Logger logger = Logger .getLogger(NormalMsgTwoSameGroupConsumerIT.class); private RMQNormalProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/BroadcastNormalMsgRecvCrashIT.java b/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/BroadcastNormalMsgRecvCrashIT.java index 18d38baef2..1608e311f9 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/BroadcastNormalMsgRecvCrashIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/BroadcastNormalMsgRecvCrashIT.java @@ -17,8 +17,7 @@ package org.apache.rocketmq.test.client.consumer.broadcast.normal; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.log4j.Logger; import org.apache.rocketmq.test.client.consumer.broadcast.BaseBroadcast; import org.apache.rocketmq.test.client.rmq.RMQBroadCastConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -33,7 +32,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class BroadcastNormalMsgRecvCrashIT extends BaseBroadcast { - private static Logger logger = LoggerFactory + private static Logger logger = Logger .getLogger(NormalMsgTwoSameGroupConsumerIT.class); private RMQNormalProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/BroadcastNormalMsgRecvFailIT.java b/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/BroadcastNormalMsgRecvFailIT.java index 3de55b235c..fab1734fa3 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/BroadcastNormalMsgRecvFailIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/BroadcastNormalMsgRecvFailIT.java @@ -17,9 +17,8 @@ package org.apache.rocketmq.test.client.consumer.broadcast.normal; +import org.apache.log4j.Logger; import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.client.consumer.broadcast.BaseBroadcast; import org.apache.rocketmq.test.client.rmq.RMQBroadCastConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -34,7 +33,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class BroadcastNormalMsgRecvFailIT extends BaseBroadcast { - private static Logger logger = LoggerFactory + private static Logger logger = Logger .getLogger(NormalMsgTwoSameGroupConsumerIT.class); private RMQNormalProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/BroadcastNormalMsgRecvStartLaterIT.java b/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/BroadcastNormalMsgRecvStartLaterIT.java index f66f14ded3..f75de142fc 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/BroadcastNormalMsgRecvStartLaterIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/BroadcastNormalMsgRecvStartLaterIT.java @@ -17,8 +17,7 @@ package org.apache.rocketmq.test.client.consumer.broadcast.normal; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.log4j.Logger; import org.apache.rocketmq.test.client.consumer.broadcast.BaseBroadcast; import org.apache.rocketmq.test.client.rmq.RMQBroadCastConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -33,7 +32,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class BroadcastNormalMsgRecvStartLaterIT extends BaseBroadcast { - private static Logger logger = LoggerFactory + private static Logger logger = Logger .getLogger(NormalMsgTwoSameGroupConsumerIT.class); private RMQNormalProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/BroadcastNormalMsgTwoDiffGroupRecvIT.java b/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/BroadcastNormalMsgTwoDiffGroupRecvIT.java index 40ea626865..ccd77d8b6d 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/BroadcastNormalMsgTwoDiffGroupRecvIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/BroadcastNormalMsgTwoDiffGroupRecvIT.java @@ -17,8 +17,7 @@ package org.apache.rocketmq.test.client.consumer.broadcast.normal; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.log4j.Logger; import org.apache.rocketmq.test.client.consumer.broadcast.BaseBroadcast; import org.apache.rocketmq.test.client.rmq.RMQBroadCastConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -33,7 +32,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class BroadcastNormalMsgTwoDiffGroupRecvIT extends BaseBroadcast { - private static Logger logger = LoggerFactory + private static Logger logger = Logger .getLogger(NormalMsgTwoSameGroupConsumerIT.class); private RMQNormalProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/NormalMsgTwoSameGroupConsumerIT.java b/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/NormalMsgTwoSameGroupConsumerIT.java index a875012eba..d115d5835f 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/NormalMsgTwoSameGroupConsumerIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/normal/NormalMsgTwoSameGroupConsumerIT.java @@ -17,8 +17,7 @@ package org.apache.rocketmq.test.client.consumer.broadcast.normal; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.log4j.Logger; import org.apache.rocketmq.test.client.consumer.broadcast.BaseBroadcast; import org.apache.rocketmq.test.client.rmq.RMQBroadCastConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -33,7 +32,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class NormalMsgTwoSameGroupConsumerIT extends BaseBroadcast { - private static Logger logger = LoggerFactory + private static Logger logger = Logger .getLogger(NormalMsgTwoSameGroupConsumerIT.class); private RMQNormalProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/order/OrderMsgBroadcastIT.java b/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/order/OrderMsgBroadcastIT.java index 48d9ce990d..65942155b6 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/order/OrderMsgBroadcastIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/order/OrderMsgBroadcastIT.java @@ -18,9 +18,8 @@ package org.apache.rocketmq.test.client.consumer.broadcast.order; import java.util.List; +import org.apache.log4j.Logger; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.client.consumer.broadcast.BaseBroadcast; import org.apache.rocketmq.test.client.rmq.RMQBroadCastConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -40,7 +39,7 @@ import static com.google.common.truth.Truth.assertThat; */ @Ignore public class OrderMsgBroadcastIT extends BaseBroadcast { - private static Logger logger = LoggerFactory.getLogger(OrderMsgBroadcastIT.class); + private static Logger logger = Logger.getLogger(OrderMsgBroadcastIT.class); private RMQNormalProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/tag/BroadcastTwoConsumerFilterIT.java b/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/tag/BroadcastTwoConsumerFilterIT.java index d49118195f..ea4bc2f84b 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/tag/BroadcastTwoConsumerFilterIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/tag/BroadcastTwoConsumerFilterIT.java @@ -17,8 +17,7 @@ package org.apache.rocketmq.test.client.consumer.broadcast.tag; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.log4j.Logger; import org.apache.rocketmq.test.client.consumer.broadcast.BaseBroadcast; import org.apache.rocketmq.test.client.rmq.RMQBroadCastConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -33,7 +32,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class BroadcastTwoConsumerFilterIT extends BaseBroadcast { - private static Logger logger = LoggerFactory.getLogger(BroadcastTwoConsumerSubTagIT.class); + private static Logger logger = Logger.getLogger(BroadcastTwoConsumerSubTagIT.class); private RMQNormalProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/tag/BroadcastTwoConsumerSubDiffTagIT.java b/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/tag/BroadcastTwoConsumerSubDiffTagIT.java index 7f4ad3ceee..e170adf077 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/tag/BroadcastTwoConsumerSubDiffTagIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/tag/BroadcastTwoConsumerSubDiffTagIT.java @@ -17,8 +17,7 @@ package org.apache.rocketmq.test.client.consumer.broadcast.tag; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.log4j.Logger; import org.apache.rocketmq.test.client.consumer.broadcast.BaseBroadcast; import org.apache.rocketmq.test.client.rmq.RMQBroadCastConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -33,7 +32,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class BroadcastTwoConsumerSubDiffTagIT extends BaseBroadcast { - private static Logger logger = LoggerFactory.getLogger(BroadcastTwoConsumerSubTagIT.class); + private static Logger logger = Logger.getLogger(BroadcastTwoConsumerSubTagIT.class); private RMQNormalProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/tag/BroadcastTwoConsumerSubTagIT.java b/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/tag/BroadcastTwoConsumerSubTagIT.java index 90b7ea840a..84ceac8830 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/tag/BroadcastTwoConsumerSubTagIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/consumer/broadcast/tag/BroadcastTwoConsumerSubTagIT.java @@ -17,8 +17,7 @@ package org.apache.rocketmq.test.client.consumer.broadcast.tag; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.log4j.Logger; import org.apache.rocketmq.test.client.consumer.broadcast.BaseBroadcast; import org.apache.rocketmq.test.client.rmq.RMQBroadCastConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -33,7 +32,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class BroadcastTwoConsumerSubTagIT extends BaseBroadcast { - private static Logger logger = LoggerFactory.getLogger(BroadcastTwoConsumerSubTagIT.class); + private static Logger logger = Logger.getLogger(BroadcastTwoConsumerSubTagIT.class); private RMQNormalProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/consumer/cluster/DynamicAddAndCrashIT.java b/test/src/test/java/org/apache/rocketmq/test/client/consumer/cluster/DynamicAddAndCrashIT.java index 8ef6d3fbff..b927e4a8fa 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/consumer/cluster/DynamicAddAndCrashIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/consumer/cluster/DynamicAddAndCrashIT.java @@ -17,8 +17,7 @@ package org.apache.rocketmq.test.client.consumer.cluster; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.log4j.Logger; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.consumer.balance.NormalMsgStaticBalanceIT; import org.apache.rocketmq.test.client.mq.MQAsyncProducer; @@ -34,7 +33,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class DynamicAddAndCrashIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(NormalMsgStaticBalanceIT.class); + private static Logger logger = Logger.getLogger(NormalMsgStaticBalanceIT.class); private RMQNormalProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/consumer/cluster/DynamicAddConsumerIT.java b/test/src/test/java/org/apache/rocketmq/test/client/consumer/cluster/DynamicAddConsumerIT.java index b84c1b5149..5f16c75d0c 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/consumer/cluster/DynamicAddConsumerIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/consumer/cluster/DynamicAddConsumerIT.java @@ -17,8 +17,7 @@ package org.apache.rocketmq.test.client.consumer.cluster; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.log4j.Logger; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.consumer.balance.NormalMsgStaticBalanceIT; import org.apache.rocketmq.test.client.mq.MQAsyncProducer; @@ -34,7 +33,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class DynamicAddConsumerIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(NormalMsgStaticBalanceIT.class); + private static Logger logger = Logger.getLogger(NormalMsgStaticBalanceIT.class); private RMQNormalProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/consumer/cluster/DynamicCrashConsumerIT.java b/test/src/test/java/org/apache/rocketmq/test/client/consumer/cluster/DynamicCrashConsumerIT.java index c97f58a13d..5c1d8afbfa 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/consumer/cluster/DynamicCrashConsumerIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/consumer/cluster/DynamicCrashConsumerIT.java @@ -17,8 +17,7 @@ package org.apache.rocketmq.test.client.consumer.cluster; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.log4j.Logger; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.consumer.balance.NormalMsgStaticBalanceIT; import org.apache.rocketmq.test.client.mq.MQAsyncProducer; @@ -34,7 +33,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class DynamicCrashConsumerIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(NormalMsgStaticBalanceIT.class); + private static Logger logger = Logger.getLogger(NormalMsgStaticBalanceIT.class); private RMQNormalProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/consumer/filter/SqlFilterIT.java b/test/src/test/java/org/apache/rocketmq/test/client/consumer/filter/SqlFilterIT.java index af5a1179e1..523ac9ab18 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/consumer/filter/SqlFilterIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/consumer/filter/SqlFilterIT.java @@ -22,13 +22,12 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; +import org.apache.log4j.Logger; import org.apache.rocketmq.client.consumer.DefaultMQPullConsumer; import org.apache.rocketmq.client.consumer.MessageSelector; import org.apache.rocketmq.client.consumer.PullResult; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; import org.apache.rocketmq.test.client.rmq.RMQSqlConsumer; @@ -43,7 +42,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class SqlFilterIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(SqlFilterIT.class); + private static Logger logger = Logger.getLogger(SqlFilterIT.class); private RMQNormalProducer producer = null; private String topic = null; private static final Map OFFSE_TABLE = new HashMap(); diff --git a/test/src/test/java/org/apache/rocketmq/test/client/consumer/pop/PopSubCheckIT.java b/test/src/test/java/org/apache/rocketmq/test/client/consumer/pop/PopSubCheckIT.java index 66c096b414..beca55e755 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/consumer/pop/PopSubCheckIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/consumer/pop/PopSubCheckIT.java @@ -20,8 +20,7 @@ package org.apache.rocketmq.test.client.consumer.pop; import org.apache.rocketmq.common.message.MessageClientExt; import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.message.MessageRequestMode; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.inner.Logger; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; import org.apache.rocketmq.test.client.rmq.RMQPopConsumer; @@ -40,7 +39,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class PopSubCheckIT extends BaseConf { - private static final Logger log = LoggerFactory.getLogger(PopSubCheckIT.class); + private static Logger logger = Logger.getLogger(PopSubCheckIT.class); private String group; private DefaultMQAdminExt defaultMQAdminExt; @@ -64,7 +63,7 @@ public class PopSubCheckIT extends BaseConf { @Test public void testNormalPopAck() throws Exception { String topic = initTopic(); - log.info(String.format("use topic: %s; group: %s !", topic, group)); + logger.info(String.format("use topic: %s; group: %s !", topic, group)); RMQNormalProducer producer = getProducer(NAMESRV_ADDR, topic); producer.getProducer().setCompressMsgBodyOverHowmuch(Integer.MAX_VALUE); @@ -80,7 +79,7 @@ public class PopSubCheckIT extends BaseConf { int msgNum = 1; producer.send(msgNum); Assert.assertEquals("Not all sent succeeded", msgNum, producer.getAllUndupMsgBody().size()); - log.info(producer.getFirstMsg().toString()); + logger.info(producer.getFirstMsg()); TestUtils.waitForSeconds(10); diff --git a/test/src/test/java/org/apache/rocketmq/test/client/consumer/tag/MulTagSubIT.java b/test/src/test/java/org/apache/rocketmq/test/client/consumer/tag/MulTagSubIT.java index 14d7b80a6b..a9fafb793e 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/consumer/tag/MulTagSubIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/consumer/tag/MulTagSubIT.java @@ -18,9 +18,7 @@ package org.apache.rocketmq.test.client.consumer.tag; import java.util.List; - -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.log4j.Logger; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.rmq.RMQNormalConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -37,7 +35,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class MulTagSubIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(TagMessageWith1ConsumerIT.class); + private static Logger logger = Logger.getLogger(TagMessageWith1ConsumerIT.class); private RMQNormalProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/consumer/tag/TagMessageWith1ConsumerIT.java b/test/src/test/java/org/apache/rocketmq/test/client/consumer/tag/TagMessageWith1ConsumerIT.java index 3ca8d06198..a03ac1cc54 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/consumer/tag/TagMessageWith1ConsumerIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/consumer/tag/TagMessageWith1ConsumerIT.java @@ -18,9 +18,7 @@ package org.apache.rocketmq.test.client.consumer.tag; import java.util.List; - -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.log4j.Logger; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.rmq.RMQNormalConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -35,7 +33,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class TagMessageWith1ConsumerIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(TagMessageWith1ConsumerIT.class); + private static Logger logger = Logger.getLogger(TagMessageWith1ConsumerIT.class); private RMQNormalProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/consumer/tag/TagMessageWithMulConsumerIT.java b/test/src/test/java/org/apache/rocketmq/test/client/consumer/tag/TagMessageWithMulConsumerIT.java index ef7c13b3bd..0730bb629c 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/consumer/tag/TagMessageWithMulConsumerIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/consumer/tag/TagMessageWithMulConsumerIT.java @@ -19,9 +19,7 @@ package org.apache.rocketmq.test.client.consumer.tag; import java.util.Collection; import java.util.List; - -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.log4j.Logger; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.rmq.RMQNormalConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -37,7 +35,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class TagMessageWithMulConsumerIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(TagMessageWith1ConsumerIT.class); + private static Logger logger = Logger.getLogger(TagMessageWith1ConsumerIT.class); private RMQNormalProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/consumer/tag/TagMessageWithSameGroupConsumerIT.java b/test/src/test/java/org/apache/rocketmq/test/client/consumer/tag/TagMessageWithSameGroupConsumerIT.java index 06373874b1..89ee0d77f9 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/consumer/tag/TagMessageWithSameGroupConsumerIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/consumer/tag/TagMessageWithSameGroupConsumerIT.java @@ -17,8 +17,7 @@ package org.apache.rocketmq.test.client.consumer.tag; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.log4j.Logger; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.rmq.RMQNormalConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -34,7 +33,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class TagMessageWithSameGroupConsumerIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(TagMessageWith1ConsumerIT.class); + private static Logger logger = Logger.getLogger(TagMessageWith1ConsumerIT.class); private RMQNormalProducer producer = null; private String topic = null; private String tag = "tag"; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/producer/async/AsyncSendExceptionIT.java b/test/src/test/java/org/apache/rocketmq/test/client/producer/async/AsyncSendExceptionIT.java index 0547241786..5f5775d035 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/producer/async/AsyncSendExceptionIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/producer/async/AsyncSendExceptionIT.java @@ -18,14 +18,13 @@ package org.apache.rocketmq.test.client.producer.async; import java.util.List; +import org.apache.log4j.Logger; import org.apache.rocketmq.client.producer.DefaultMQProducer; import org.apache.rocketmq.client.producer.MessageQueueSelector; import org.apache.rocketmq.client.producer.SendCallback; import org.apache.rocketmq.client.producer.SendResult; import org.apache.rocketmq.common.message.Message; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.consumer.tag.TagMessageWith1ConsumerIT; import org.apache.rocketmq.test.factory.ProducerFactory; @@ -39,7 +38,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class AsyncSendExceptionIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(TagMessageWith1ConsumerIT.class); + private static Logger logger = Logger.getLogger(TagMessageWith1ConsumerIT.class); private static boolean sendFail = false; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/producer/async/AsyncSendWithMessageQueueIT.java b/test/src/test/java/org/apache/rocketmq/test/client/producer/async/AsyncSendWithMessageQueueIT.java index 25366670aa..d5cf8b61f1 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/producer/async/AsyncSendWithMessageQueueIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/producer/async/AsyncSendWithMessageQueueIT.java @@ -17,9 +17,8 @@ package org.apache.rocketmq.test.client.producer.async; +import org.apache.log4j.Logger; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.consumer.tag.TagMessageWith1ConsumerIT; import org.apache.rocketmq.test.client.rmq.RMQAsyncSendProducer; @@ -33,7 +32,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class AsyncSendWithMessageQueueIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(TagMessageWith1ConsumerIT.class); + private static Logger logger = Logger.getLogger(TagMessageWith1ConsumerIT.class); private RMQAsyncSendProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/producer/async/AsyncSendWithMessageQueueSelectorIT.java b/test/src/test/java/org/apache/rocketmq/test/client/producer/async/AsyncSendWithMessageQueueSelectorIT.java index 6dd072293a..280d5afe1f 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/producer/async/AsyncSendWithMessageQueueSelectorIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/producer/async/AsyncSendWithMessageQueueSelectorIT.java @@ -18,11 +18,10 @@ package org.apache.rocketmq.test.client.producer.async; import java.util.List; +import org.apache.log4j.Logger; import org.apache.rocketmq.client.producer.MessageQueueSelector; import org.apache.rocketmq.common.message.Message; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.consumer.tag.TagMessageWith1ConsumerIT; import org.apache.rocketmq.test.client.rmq.RMQAsyncSendProducer; @@ -36,7 +35,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class AsyncSendWithMessageQueueSelectorIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(TagMessageWith1ConsumerIT.class); + private static Logger logger = Logger.getLogger(TagMessageWith1ConsumerIT.class); private RMQAsyncSendProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/producer/async/AsyncSendWithOnlySendCallBackIT.java b/test/src/test/java/org/apache/rocketmq/test/client/producer/async/AsyncSendWithOnlySendCallBackIT.java index 80574597b1..4947ef8f76 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/producer/async/AsyncSendWithOnlySendCallBackIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/producer/async/AsyncSendWithOnlySendCallBackIT.java @@ -17,8 +17,7 @@ package org.apache.rocketmq.test.client.producer.async; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.log4j.Logger; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.consumer.tag.TagMessageWith1ConsumerIT; import org.apache.rocketmq.test.client.rmq.RMQAsyncSendProducer; @@ -32,7 +31,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class AsyncSendWithOnlySendCallBackIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(TagMessageWith1ConsumerIT.class); + private static Logger logger = Logger.getLogger(TagMessageWith1ConsumerIT.class); private RMQAsyncSendProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/producer/batch/BatchSendIT.java b/test/src/test/java/org/apache/rocketmq/test/client/producer/batch/BatchSendIT.java index 685957d9a3..59c8a9e50f 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/producer/batch/BatchSendIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/producer/batch/BatchSendIT.java @@ -22,6 +22,7 @@ import java.util.List; import java.util.Random; import java.util.UUID; +import org.apache.log4j.Logger; import org.apache.rocketmq.client.consumer.DefaultMQPullConsumer; import org.apache.rocketmq.client.consumer.PullResult; import org.apache.rocketmq.client.consumer.PullStatus; @@ -37,8 +38,6 @@ import org.apache.rocketmq.common.message.MessageBatch; import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.store.DefaultMessageStore; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.base.IntegrationTestBase; @@ -52,7 +51,7 @@ import org.junit.Before; import org.junit.Test; public class BatchSendIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(TagMessageWith1ConsumerIT.class); + private static Logger logger = Logger.getLogger(TagMessageWith1ConsumerIT.class); private String topic = null; private Random random = new Random(); diff --git a/test/src/test/java/org/apache/rocketmq/test/client/producer/exception/msg/MessageUserPropIT.java b/test/src/test/java/org/apache/rocketmq/test/client/producer/exception/msg/MessageUserPropIT.java index 4505f8cbe9..cf088496c4 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/producer/exception/msg/MessageUserPropIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/producer/exception/msg/MessageUserPropIT.java @@ -17,9 +17,8 @@ package org.apache.rocketmq.test.client.producer.exception.msg; +import org.apache.log4j.Logger; import org.apache.rocketmq.common.message.Message; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.consumer.balance.NormalMsgStaticBalanceIT; import org.apache.rocketmq.test.client.rmq.RMQNormalConsumer; @@ -33,7 +32,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class MessageUserPropIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(NormalMsgStaticBalanceIT.class); + private static Logger logger = Logger.getLogger(NormalMsgStaticBalanceIT.class); private RMQNormalProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/producer/exception/producer/ProducerGroupAndInstanceNameValidityIT.java b/test/src/test/java/org/apache/rocketmq/test/client/producer/exception/producer/ProducerGroupAndInstanceNameValidityIT.java index 02104ab986..73d4a79944 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/producer/exception/producer/ProducerGroupAndInstanceNameValidityIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/producer/exception/producer/ProducerGroupAndInstanceNameValidityIT.java @@ -17,8 +17,7 @@ package org.apache.rocketmq.test.client.producer.exception.producer; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.log4j.Logger; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; import org.apache.rocketmq.test.util.RandomUtils; @@ -29,7 +28,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class ProducerGroupAndInstanceNameValidityIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(ProducerGroupAndInstanceNameValidityIT.class); + private static Logger logger = Logger.getLogger(ProducerGroupAndInstanceNameValidityIT.class); private String topic = null; @Before diff --git a/test/src/test/java/org/apache/rocketmq/test/client/producer/oneway/OneWaySendExceptionIT.java b/test/src/test/java/org/apache/rocketmq/test/client/producer/oneway/OneWaySendExceptionIT.java index af43bccb98..ed34dde445 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/producer/oneway/OneWaySendExceptionIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/producer/oneway/OneWaySendExceptionIT.java @@ -18,12 +18,11 @@ package org.apache.rocketmq.test.client.producer.oneway; import java.util.List; +import org.apache.log4j.Logger; import org.apache.rocketmq.client.producer.DefaultMQProducer; import org.apache.rocketmq.client.producer.MessageQueueSelector; import org.apache.rocketmq.common.message.Message; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.consumer.tag.TagMessageWith1ConsumerIT; import org.apache.rocketmq.test.factory.ProducerFactory; @@ -33,7 +32,7 @@ import org.junit.Before; import org.junit.Test; public class OneWaySendExceptionIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(TagMessageWith1ConsumerIT.class); + private static Logger logger = Logger.getLogger(TagMessageWith1ConsumerIT.class); private static boolean sendFail = false; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/producer/oneway/OneWaySendIT.java b/test/src/test/java/org/apache/rocketmq/test/client/producer/oneway/OneWaySendIT.java index 75ba824060..5798839b43 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/producer/oneway/OneWaySendIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/producer/oneway/OneWaySendIT.java @@ -17,8 +17,7 @@ package org.apache.rocketmq.test.client.producer.oneway; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.log4j.Logger; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.consumer.tag.TagMessageWith1ConsumerIT; import org.apache.rocketmq.test.client.rmq.RMQAsyncSendProducer; @@ -32,7 +31,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class OneWaySendIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(TagMessageWith1ConsumerIT.class); + private static Logger logger = Logger.getLogger(TagMessageWith1ConsumerIT.class); private RMQAsyncSendProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/producer/oneway/OneWaySendWithMQIT.java b/test/src/test/java/org/apache/rocketmq/test/client/producer/oneway/OneWaySendWithMQIT.java index 775a6cb57b..92788875ed 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/producer/oneway/OneWaySendWithMQIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/producer/oneway/OneWaySendWithMQIT.java @@ -17,9 +17,8 @@ package org.apache.rocketmq.test.client.producer.oneway; +import org.apache.log4j.Logger; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.consumer.tag.TagMessageWith1ConsumerIT; import org.apache.rocketmq.test.client.rmq.RMQAsyncSendProducer; @@ -33,7 +32,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class OneWaySendWithMQIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(TagMessageWith1ConsumerIT.class); + private static Logger logger = Logger.getLogger(TagMessageWith1ConsumerIT.class); private static boolean sendFail = false; private RMQAsyncSendProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/producer/oneway/OneWaySendWithSelectorIT.java b/test/src/test/java/org/apache/rocketmq/test/client/producer/oneway/OneWaySendWithSelectorIT.java index 15db2aec77..3d72af7ef0 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/producer/oneway/OneWaySendWithSelectorIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/producer/oneway/OneWaySendWithSelectorIT.java @@ -18,11 +18,10 @@ package org.apache.rocketmq.test.client.producer.oneway; import java.util.List; +import org.apache.log4j.Logger; import org.apache.rocketmq.client.producer.MessageQueueSelector; import org.apache.rocketmq.common.message.Message; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.consumer.tag.TagMessageWith1ConsumerIT; import org.apache.rocketmq.test.client.rmq.RMQAsyncSendProducer; @@ -36,7 +35,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class OneWaySendWithSelectorIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(TagMessageWith1ConsumerIT.class); + private static Logger logger = Logger.getLogger(TagMessageWith1ConsumerIT.class); private static boolean sendFail = false; private RMQAsyncSendProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/producer/order/OrderMsgDynamicRebalanceIT.java b/test/src/test/java/org/apache/rocketmq/test/client/producer/order/OrderMsgDynamicRebalanceIT.java index d285b02f17..ccd04fb7ee 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/producer/order/OrderMsgDynamicRebalanceIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/producer/order/OrderMsgDynamicRebalanceIT.java @@ -18,9 +18,8 @@ package org.apache.rocketmq.test.client.producer.order; import java.util.List; +import org.apache.log4j.Logger; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.consumer.balance.NormalMsgStaticBalanceIT; import org.apache.rocketmq.test.client.rmq.RMQNormalConsumer; @@ -36,7 +35,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class OrderMsgDynamicRebalanceIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(NormalMsgStaticBalanceIT.class); + private static Logger logger = Logger.getLogger(NormalMsgStaticBalanceIT.class); private RMQNormalProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/producer/order/OrderMsgIT.java b/test/src/test/java/org/apache/rocketmq/test/client/producer/order/OrderMsgIT.java index d7689fe172..7ea4af8009 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/producer/order/OrderMsgIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/producer/order/OrderMsgIT.java @@ -18,9 +18,8 @@ package org.apache.rocketmq.test.client.producer.order; import java.util.List; +import org.apache.log4j.Logger; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.rmq.RMQNormalConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -35,7 +34,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class OrderMsgIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(OrderMsgIT.class); + private static Logger logger = Logger.getLogger(OrderMsgIT.class); private RMQNormalProducer producer = null; private RMQNormalConsumer consumer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/producer/order/OrderMsgRebalanceIT.java b/test/src/test/java/org/apache/rocketmq/test/client/producer/order/OrderMsgRebalanceIT.java index 0bb2ca3f89..b6e08f39ca 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/producer/order/OrderMsgRebalanceIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/producer/order/OrderMsgRebalanceIT.java @@ -18,9 +18,8 @@ package org.apache.rocketmq.test.client.producer.order; import java.util.List; +import org.apache.log4j.Logger; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.rmq.RMQNormalConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -36,7 +35,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class OrderMsgRebalanceIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(OrderMsgRebalanceIT.class); + private static Logger logger = Logger.getLogger(OrderMsgRebalanceIT.class); private RMQNormalProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/producer/order/OrderMsgWithTagIT.java b/test/src/test/java/org/apache/rocketmq/test/client/producer/order/OrderMsgWithTagIT.java index 8ee5a9a97f..cf385f5267 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/producer/order/OrderMsgWithTagIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/producer/order/OrderMsgWithTagIT.java @@ -18,9 +18,8 @@ package org.apache.rocketmq.test.client.producer.order; import java.util.List; +import org.apache.log4j.Logger; import org.apache.rocketmq.common.message.MessageQueue; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.rmq.RMQNormalConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -35,7 +34,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class OrderMsgWithTagIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(OrderMsgIT.class); + private static Logger logger = Logger.getLogger(OrderMsgIT.class); private RMQNormalProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/producer/querymsg/QueryMsgByIdExceptionIT.java b/test/src/test/java/org/apache/rocketmq/test/client/producer/querymsg/QueryMsgByIdExceptionIT.java index 0262121791..97d2c3790f 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/producer/querymsg/QueryMsgByIdExceptionIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/producer/querymsg/QueryMsgByIdExceptionIT.java @@ -17,9 +17,8 @@ package org.apache.rocketmq.test.client.producer.querymsg; +import org.apache.log4j.Logger; import org.apache.rocketmq.common.message.MessageExt; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; import org.junit.AfterClass; @@ -30,7 +29,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class QueryMsgByIdExceptionIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(QueryMsgByKeyIT.class); + private static Logger logger = Logger.getLogger(QueryMsgByKeyIT.class); private static RMQNormalProducer producer = null; private static String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/producer/querymsg/QueryMsgByIdIT.java b/test/src/test/java/org/apache/rocketmq/test/client/producer/querymsg/QueryMsgByIdIT.java index c4528fd8a5..a0b6527ad8 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/producer/querymsg/QueryMsgByIdIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/producer/querymsg/QueryMsgByIdIT.java @@ -17,10 +17,9 @@ package org.apache.rocketmq.test.client.producer.querymsg; +import org.apache.log4j.Logger; import org.apache.rocketmq.common.message.MessageClientExt; import org.apache.rocketmq.common.message.MessageExt; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.rmq.RMQNormalConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -35,7 +34,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class QueryMsgByIdIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(QueryMsgByIdIT.class); + private static Logger logger = Logger.getLogger(QueryMsgByIdIT.class); private RMQNormalProducer producer = null; private RMQNormalConsumer consumer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/producer/querymsg/QueryMsgByKeyIT.java b/test/src/test/java/org/apache/rocketmq/test/client/producer/querymsg/QueryMsgByKeyIT.java index 921d3a6a9c..cb8310b861 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/producer/querymsg/QueryMsgByKeyIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/producer/querymsg/QueryMsgByKeyIT.java @@ -19,10 +19,9 @@ package org.apache.rocketmq.test.client.producer.querymsg; import java.util.List; +import org.apache.log4j.Logger; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.common.message.MessageExt; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; import org.apache.rocketmq.test.factory.MQMessageFactory; @@ -35,7 +34,7 @@ import org.junit.Test; import static com.google.common.truth.Truth.assertThat; public class QueryMsgByKeyIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(QueryMsgByKeyIT.class); + private static Logger logger = Logger.getLogger(QueryMsgByKeyIT.class); private RMQNormalProducer producer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/client/producer/transaction/TransactionalMsgIT.java b/test/src/test/java/org/apache/rocketmq/test/client/producer/transaction/TransactionalMsgIT.java index 8affb032c5..38034627c4 100644 --- a/test/src/test/java/org/apache/rocketmq/test/client/producer/transaction/TransactionalMsgIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/client/producer/transaction/TransactionalMsgIT.java @@ -17,13 +17,12 @@ package org.apache.rocketmq.test.client.producer.transaction; +import org.apache.log4j.Logger; import org.apache.rocketmq.client.producer.LocalTransactionState; import org.apache.rocketmq.client.producer.TransactionListener; import org.apache.rocketmq.common.Pair; import org.apache.rocketmq.common.message.Message; import org.apache.rocketmq.common.message.MessageExt; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.rmq.RMQNormalConsumer; import org.apache.rocketmq.test.client.rmq.RMQTransactionalProducer; @@ -39,7 +38,7 @@ import java.util.List; import java.util.concurrent.ConcurrentHashMap; public class TransactionalMsgIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(TransactionalMsgIT.class); + private static Logger logger = Logger.getLogger(TransactionalMsgIT.class); private RMQTransactionalProducer producer = null; private RMQNormalConsumer consumer = null; private String topic = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/container/ContainerIntegrationTestBase.java b/test/src/test/java/org/apache/rocketmq/test/container/ContainerIntegrationTestBase.java index e4af8c203e..03cf6214ce 100644 --- a/test/src/test/java/org/apache/rocketmq/test/container/ContainerIntegrationTestBase.java +++ b/test/src/test/java/org/apache/rocketmq/test/container/ContainerIntegrationTestBase.java @@ -17,6 +17,8 @@ package org.apache.rocketmq.test.container; +import ch.qos.logback.classic.LoggerContext; +import ch.qos.logback.classic.joran.JoranConfigurator; import io.netty.channel.ChannelHandlerContext; import java.io.File; import java.io.IOException; @@ -52,8 +54,8 @@ import org.apache.rocketmq.common.namesrv.NamesrvConfig; import org.apache.rocketmq.container.BrokerContainer; import org.apache.rocketmq.container.BrokerContainerConfig; import org.apache.rocketmq.container.InnerSalveBrokerController; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.rocketmq.logging.InternalLogger; +import org.apache.rocketmq.logging.InternalLoggerFactory; import org.apache.rocketmq.namesrv.NamesrvController; import org.apache.rocketmq.remoting.netty.NettyClientConfig; import org.apache.rocketmq.remoting.netty.NettyRequestProcessor; @@ -69,6 +71,7 @@ import org.apache.rocketmq.store.ha.HAConnectionState; import org.apache.rocketmq.tools.admin.DefaultMQAdminExt; import org.junit.Assert; import org.junit.BeforeClass; +import org.slf4j.LoggerFactory; import static org.awaitility.Awaitility.await; @@ -103,7 +106,7 @@ public class ContainerIntegrationTestBase { protected static DefaultMQAdminExt defaultMQAdminExt; - private final static Logger LOG = LoggerFactory.getLogger(ContainerIntegrationTestBase.class); + private final static InternalLogger LOG = InternalLoggerFactory.getLogger(ContainerIntegrationTestBase.class); private static ConcurrentMap slaveStoreConfigCache = new ConcurrentHashMap<>(); protected static ConcurrentMap isolatedBrokers = new ConcurrentHashMap<>(); @@ -116,6 +119,16 @@ public class ContainerIntegrationTestBase { System.setProperty("rocketmq.broker.diskSpaceCleanForciblyRatio", "0.99"); System.setProperty("rocketmq.broker.diskSpaceWarningLevelRatio", "0.99"); + LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); + JoranConfigurator configurator = new JoranConfigurator(); + configurator.setContext(lc); + lc.reset(); + //https://logback.qos.ch/manual/configuration.html + lc.setPackagingDataEnabled(false); + + configurator.doConfigure("../distribution/conf/logback_broker.xml"); + configurator.doConfigure("../distribution/conf/logback_namesrv.xml"); + setUpCluster(); setUpTopic(); registerCleaner(); diff --git a/test/src/test/java/org/apache/rocketmq/test/delay/NormalMsgDelayIT.java b/test/src/test/java/org/apache/rocketmq/test/delay/NormalMsgDelayIT.java index 534842a56e..e4f325bb94 100644 --- a/test/src/test/java/org/apache/rocketmq/test/delay/NormalMsgDelayIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/delay/NormalMsgDelayIT.java @@ -17,8 +17,7 @@ package org.apache.rocketmq.test.delay; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; +import org.apache.log4j.Logger; import org.apache.rocketmq.test.client.rmq.RMQNormalConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; import org.apache.rocketmq.test.factory.MQMessageFactory; @@ -32,7 +31,7 @@ import org.junit.Test; import java.util.List; public class NormalMsgDelayIT extends DelayConf { - private static Logger logger = LoggerFactory.getLogger(NormalMsgDelayIT.class); + private static Logger logger = Logger.getLogger(NormalMsgDelayIT.class); protected int msgSize = 100; private RMQNormalProducer producer = null; private RMQNormalConsumer consumer = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/offset/OffsetResetForPopIT.java b/test/src/test/java/org/apache/rocketmq/test/offset/OffsetResetForPopIT.java index c483702160..f3301bad7b 100644 --- a/test/src/test/java/org/apache/rocketmq/test/offset/OffsetResetForPopIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/offset/OffsetResetForPopIT.java @@ -25,6 +25,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; +import org.apache.log4j.Logger; import org.apache.rocketmq.client.consumer.PopResult; import org.apache.rocketmq.common.TopicConfig; import org.apache.rocketmq.common.message.Message; @@ -32,8 +33,6 @@ import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.remoting.protocol.admin.ConsumeStats; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; import org.apache.rocketmq.test.client.rmq.RMQPopConsumer; @@ -51,7 +50,7 @@ import static org.awaitility.Awaitility.await; public class OffsetResetForPopIT extends BaseConf { - private static final Logger LOGGER = LoggerFactory.getLogger(OffsetResetForPopIT.class); + private static final Logger LOGGER = Logger.getLogger(OffsetResetForPopIT.class); private String topic; private String group; diff --git a/test/src/test/java/org/apache/rocketmq/test/offset/OffsetResetIT.java b/test/src/test/java/org/apache/rocketmq/test/offset/OffsetResetIT.java index a83daa712d..606f57182e 100644 --- a/test/src/test/java/org/apache/rocketmq/test/offset/OffsetResetIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/offset/OffsetResetIT.java @@ -20,6 +20,7 @@ package org.apache.rocketmq.test.offset; import java.time.Duration; import java.util.List; import java.util.Map; +import org.apache.log4j.Logger; import org.apache.rocketmq.broker.BrokerController; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.common.message.MessageQueue; @@ -28,8 +29,6 @@ import org.apache.rocketmq.remoting.protocol.RequestCode; import org.apache.rocketmq.remoting.protocol.admin.ConsumeStats; import org.apache.rocketmq.remoting.protocol.admin.OffsetWrapper; import org.apache.rocketmq.remoting.protocol.header.ResetOffsetRequestHeader; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.rmq.RMQNormalConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -48,7 +47,7 @@ import static org.awaitility.Awaitility.await; @FixMethodOrder(MethodSorters.NAME_ASCENDING) public class OffsetResetIT extends BaseConf { - private static final Logger LOGGER = LoggerFactory.getLogger(OffsetResetIT.class); + private static final Logger LOGGER = Logger.getLogger(OffsetResetIT.class); private RMQNormalListener listener = null; private RMQNormalProducer producer = null; diff --git a/test/src/test/java/org/apache/rocketmq/test/smoke/NormalMessageSendAndRecvIT.java b/test/src/test/java/org/apache/rocketmq/test/smoke/NormalMessageSendAndRecvIT.java index 9b98b7849c..eeddd5b8a5 100644 --- a/test/src/test/java/org/apache/rocketmq/test/smoke/NormalMessageSendAndRecvIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/smoke/NormalMessageSendAndRecvIT.java @@ -25,8 +25,6 @@ import org.apache.rocketmq.common.message.MessageClientExt; import org.apache.rocketmq.common.message.MessageConst; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.remoting.protocol.admin.ConsumeStats; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.rmq.RMQNormalConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -38,6 +36,8 @@ import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import static com.google.common.truth.Truth.assertThat; diff --git a/test/src/test/java/org/apache/rocketmq/test/statictopic/StaticTopicIT.java b/test/src/test/java/org/apache/rocketmq/test/statictopic/StaticTopicIT.java index 835d0c8d9c..1bcb42268b 100644 --- a/test/src/test/java/org/apache/rocketmq/test/statictopic/StaticTopicIT.java +++ b/test/src/test/java/org/apache/rocketmq/test/statictopic/StaticTopicIT.java @@ -28,6 +28,7 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; +import org.apache.log4j.Logger; import org.apache.rocketmq.broker.BrokerController; import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; import org.apache.rocketmq.client.impl.factory.MQClientInstance; @@ -43,8 +44,6 @@ import org.apache.rocketmq.remoting.protocol.statictopic.TopicConfigAndQueueMapp import org.apache.rocketmq.remoting.protocol.statictopic.TopicQueueMappingOne; import org.apache.rocketmq.remoting.protocol.statictopic.TopicQueueMappingUtils; import org.apache.rocketmq.remoting.rpc.ClientMetadata; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.test.base.BaseConf; import org.apache.rocketmq.test.client.rmq.RMQNormalConsumer; import org.apache.rocketmq.test.client.rmq.RMQNormalProducer; @@ -67,7 +66,7 @@ import static org.apache.rocketmq.remoting.protocol.statictopic.TopicQueueMappin @FixMethodOrder public class StaticTopicIT extends BaseConf { - private static Logger logger = LoggerFactory.getLogger(StaticTopicIT.class); + private static Logger logger = Logger.getLogger(StaticTopicIT.class); private DefaultMQAdminExt defaultMQAdminExt; @Before diff --git a/test/src/test/resources/log4j.xml b/test/src/test/resources/log4j.xml new file mode 100644 index 0000000000..7840ab78c1 --- /dev/null +++ b/test/src/test/resources/log4j.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/src/test/resources/logback-test.xml b/test/src/test/resources/logback-test.xml new file mode 100644 index 0000000000..2f00e3cc11 --- /dev/null +++ b/test/src/test/resources/logback-test.xml @@ -0,0 +1,33 @@ + + + + + + + true + + %d{yyy-MM-dd HH:mm:ss,GMT+8} %p %t - %m%n + UTF-8 + + + + + + + + diff --git a/test/src/test/resources/rmq.logback-test.xml b/test/src/test/resources/rmq.logback-test.xml deleted file mode 100644 index c3ec0d1e81..0000000000 --- a/test/src/test/resources/rmq.logback-test.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - %d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n - - - - - - - - - - - - - \ No newline at end of file diff --git a/tools/BUILD.bazel b/tools/BUILD.bazel index 8aea42f632..51bfdcac60 100644 --- a/tools/BUILD.bazel +++ b/tools/BUILD.bazel @@ -23,6 +23,7 @@ java_library( deps = [ "//acl", "//remoting", + "//logging", "//client", "//common", "//srvutil", @@ -37,8 +38,6 @@ java_library( "@maven//:ch_qos_logback_logback_classic", "@maven//:ch_qos_logback_logback_core", "@maven//:commons_collections_commons_collections", - "@maven//:io_github_aliyun_mq_rocketmq_slf4j_api", - "@maven//:io_github_aliyun_mq_rocketmq_logback_classic", ], ) @@ -57,7 +56,7 @@ java_library( "@maven//:io_netty_netty_all", "@maven//:commons_cli_commons_cli", ], - resources = glob(["src/test/resources/*.xml"]), + resources = glob(["src/test/resources/certs/*.pem"]) + glob(["src/test/resources/certs/*.key"]) ) GenTestRules( diff --git a/tools/pom.xml b/tools/pom.xml index 177da83080..83329ca654 100644 --- a/tools/pom.xml +++ b/tools/pom.xml @@ -35,22 +35,23 @@ ${project.groupId} rocketmq-client - ${project.version} ${project.groupId} rocketmq-acl - ${project.version} ${project.groupId} rocketmq-srvutil - ${project.version} com.alibaba fastjson + + ch.qos.logback + logback-classic + org.apache.commons commons-lang3 diff --git a/tools/src/main/java/org/apache/rocketmq/tools/admin/DefaultMQAdminExtImpl.java b/tools/src/main/java/org/apache/rocketmq/tools/admin/DefaultMQAdminExtImpl.java index 260d2e294e..1a0e292a0a 100644 --- a/tools/src/main/java/org/apache/rocketmq/tools/admin/DefaultMQAdminExtImpl.java +++ b/tools/src/main/java/org/apache/rocketmq/tools/admin/DefaultMQAdminExtImpl.java @@ -45,6 +45,7 @@ import org.apache.rocketmq.client.exception.MQBrokerException; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.client.impl.MQClientManager; import org.apache.rocketmq.client.impl.factory.MQClientInstance; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.common.AclConfig; import org.apache.rocketmq.common.KeyBuilder; import org.apache.rocketmq.common.MixAll; @@ -62,6 +63,7 @@ import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.common.message.MessageRequestMode; import org.apache.rocketmq.common.namesrv.NamesrvUtil; import org.apache.rocketmq.common.utils.NetworkUtil; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.RPCHook; import org.apache.rocketmq.remoting.exception.RemotingCommandException; import org.apache.rocketmq.remoting.exception.RemotingConnectException; @@ -106,8 +108,6 @@ import org.apache.rocketmq.remoting.protocol.statictopic.TopicConfigAndQueueMapp import org.apache.rocketmq.remoting.protocol.statictopic.TopicQueueMappingDetail; import org.apache.rocketmq.remoting.protocol.subscription.GroupForbidden; import org.apache.rocketmq.remoting.protocol.subscription.SubscriptionGroupConfig; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.tools.admin.api.BrokerOperatorResult; import org.apache.rocketmq.tools.admin.api.MessageTrack; import org.apache.rocketmq.tools.admin.api.TrackType; @@ -138,7 +138,7 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { SYSTEM_GROUP_SET.add(MixAll.CID_SYS_RMQ_TRANS); } - private final Logger logger = LoggerFactory.getLogger(DefaultMQAdminExtImpl.class); + private final InternalLogger log = ClientLogger.getLog(); private final DefaultMQAdminExt defaultMQAdminExt; private ServiceState serviceState = ServiceState.CREATE_JUST; private MQClientInstance mqClientInstance; @@ -182,7 +182,7 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { mqClientInstance.start(); - logger.info("the adminExt [{}] start OK", this.defaultMQAdminExt.getAdminExtGroup()); + log.info("the adminExt [{}] start OK", this.defaultMQAdminExt.getAdminExtGroup()); this.serviceState = ServiceState.RUNNING; @@ -209,7 +209,7 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { this.mqClientInstance.unregisterAdminExt(this.defaultMQAdminExt.getAdminExtGroup()); this.mqClientInstance.shutdown(); - logger.info("the adminExt [{}] shutdown OK", this.defaultMQAdminExt.getAdminExtGroup()); + log.info("the adminExt [{}] shutdown OK", this.defaultMQAdminExt.getAdminExtGroup()); this.serviceState = ServiceState.SHUTDOWN_ALREADY; this.threadPoolExecutor.shutdown(); break; @@ -236,7 +236,7 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { try { return handler.doExecute(); } catch (RemotingException e) { - logger.error("", e); + log.error("", e); return AdminToolResult.failure(AdminToolsResultCodeEnum.REMOTING_ERROR, e.getMessage()); } catch (MQClientException e) { if (ResponseCode.TOPIC_NOT_EXIST == e.getResponseCode()) { @@ -372,7 +372,7 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { topicStatsTable.getOffsetTable().putAll(tst.getOffsetTable()); } } catch (Exception e) { - logger.error("getTopicStatsInfo error. topic={}", topic, e); + log.error("getTopicStatsInfo error. topic={}", topic, e); } finally { latch.countDown(); } @@ -535,7 +535,7 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { consumerTpsMap.put(addr, consumeStats.getConsumeTps()); } } catch (Exception e) { - logger.error("getConsumeStats error. topic={}, consumerGroup={}", topic, consumerGroup, e); + log.error("getConsumeStats error. topic={}, consumerGroup={}", topic, consumerGroup, e); } finally { latch.countDown(); } @@ -575,7 +575,7 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { MessageDecoder.decodeMessageId(msgId); return this.viewMessage(msgId); } catch (Exception e) { - logger.warn("the msgId maybe created by new client. msgId={}", msgId, e); + log.warn("the msgId maybe created by new client. msgId={}", msgId, e); } return this.mqClientInstance.getMQAdminImpl().queryMessageByUniqKey(topic, msgId); } @@ -587,7 +587,7 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { MessageDecoder.decodeMessageId(msgId); return this.viewMessage(msgId); } catch (Exception e) { - logger.warn("the msgId maybe created by new client. msgId={}", msgId, e); + log.warn("the msgId maybe created by new client. msgId={}", msgId, e); } return this.mqClientInstance.getMQAdminImpl().queryMessageByUniqKey(clusterName, topic, msgId); } @@ -609,7 +609,7 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { } if (result.getConnectionSet().isEmpty()) { - logger.warn("the consumer group not online. brokerAddr={}, group={}", addr, consumerGroup); + log.warn("the consumer group not online. brokerAddr={}, group={}", addr, consumerGroup); throw new MQClientException(ResponseCode.CONSUMER_NOT_ONLINE, "Not found the consumer group connection"); } @@ -624,7 +624,7 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { this.mqClientInstance.getMQClientAPIImpl().getConsumerConnectionList(brokerAddr, consumerGroup, timeoutMillis); if (result.getConnectionSet().isEmpty()) { - logger.warn("the consumer group not online. brokerAddr={}, group={}", brokerAddr, consumerGroup); + log.warn("the consumer group not online. brokerAddr={}, group={}", brokerAddr, consumerGroup); throw new MQClientException(ResponseCode.CONSUMER_NOT_ONLINE, "Not found the consumer group connection"); } @@ -646,7 +646,7 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { } if (result.getConnectionSet().isEmpty()) { - logger.warn("the producer group not online. brokerAddr={}, group={}", addr, producerGroup); + log.warn("the producer group not online. brokerAddr={}, group={}", addr, producerGroup); throw new MQClientException("Not found the producer group connection", null); } @@ -727,7 +727,7 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { mqClientInstance.getMQClientAPIImpl().deleteTopicInBroker(addr, topic, timeoutMillis); successList.add(addr); } catch (Exception e) { - logger.error("deleteTopicInBroker error. topic={}, broker={}", topic, addr, e); + log.error("deleteTopicInBroker error. topic={}, broker={}", topic, addr, e); failureList.add(addr); } finally { latch.countDown(); @@ -890,7 +890,7 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { resetOffsetByTimestampOld(addr, topicRouteMap.get(bd.getBrokerName()), group, topic, timestamp, true); successList.add(addr); } catch (Exception e2) { - logger.error(MessageFormat.format("resetOffsetByTimestampOld error. addr={0}, topic={1}, group={2},timestamp={3}", addr, topic, group, timestamp), e); + log.error(MessageFormat.format("resetOffsetByTimestampOld error. addr={0}, topic={1}, group={2},timestamp={3}", addr, topic, group, timestamp), e); failureList.add(addr); } } else if (ResponseCode.SYSTEM_ERROR == e.getResponseCode()) { @@ -898,11 +898,11 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { successList.add(addr); } else { failureList.add(addr); - logger.error(MessageFormat.format("resetOffsetNewConcurrent error. addr={0}, topic={1}, group={2},timestamp={3}", addr, topic, group, timestamp), e); + log.error(MessageFormat.format("resetOffsetNewConcurrent error. addr={0}, topic={1}, group={2},timestamp={3}", addr, topic, group, timestamp), e); } } catch (Exception e) { failureList.add(addr); - logger.error(MessageFormat.format("resetOffsetNewConcurrent error. addr={0}, topic={1}, group={2},timestamp={3}", addr, topic, group, timestamp), e); + log.error(MessageFormat.format("resetOffsetNewConcurrent error. addr={0}, topic={1}, group={2},timestamp={3}", addr, topic, group, timestamp), e); } finally { latch.countDown(); } @@ -1092,7 +1092,7 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { result.getTopicList().addAll(topicList.getTopicList()); } } catch (Exception e) { - logger.error("queryTopicsByConsumer error. group={}", group, e); + log.error("queryTopicsByConsumer error. group={}", group, e); } finally { latch.countDown(); } @@ -1142,7 +1142,7 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { spanSet.addAll(mqClientInstance.getMQClientAPIImpl().queryConsumeTimeSpan(addr, topic, group, timeoutMillis)); } } catch (Exception e) { - logger.error("queryConsumeTimeSpan error. topic={}, group={}", topic, group, e); + log.error("queryConsumeTimeSpan error. topic={}, group={}", topic, group, e); } finally { latch.countDown(); } @@ -1170,7 +1170,7 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { result = cleanExpiredConsumerQueueByCluster(clusterInfo, cluster); } } catch (MQBrokerException e) { - logger.error("cleanExpiredConsumerQueue error.", e); + log.error("cleanExpiredConsumerQueue error.", e); } return result; @@ -1190,7 +1190,7 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { public boolean cleanExpiredConsumerQueueByAddr( String addr) throws RemotingConnectException, RemotingSendRequestException, RemotingTimeoutException, MQClientException, InterruptedException { boolean result = mqClientInstance.getMQClientAPIImpl().cleanExpiredConsumeQueue(addr, timeoutMillis); - logger.warn("clean expired ConsumeQueue on target broker={}, execute result={}", addr, result); + log.warn("clean expired ConsumeQueue on target broker={}, execute result={}", addr, result); return result; } @@ -1208,7 +1208,7 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { result = deleteExpiredCommitLogByCluster(clusterInfo, cluster); } } catch (MQBrokerException e) { - logger.error("deleteExpiredCommitLog error.", e); + log.error("deleteExpiredCommitLog error.", e); } return result; @@ -1229,7 +1229,7 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { public boolean deleteExpiredCommitLogByAddr( String addr) throws RemotingConnectException, RemotingSendRequestException, RemotingTimeoutException, MQClientException, InterruptedException { boolean result = mqClientInstance.getMQClientAPIImpl().deleteExpiredCommitLog(addr, timeoutMillis); - logger.warn("Delete expired CommitLog on target broker={}, execute result={}", addr, result); + log.warn("Delete expired CommitLog on target broker={}, execute result={}", addr, result); return result; } @@ -1247,7 +1247,7 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { result = cleanUnusedTopicByCluster(clusterInfo, cluster); } } catch (MQBrokerException e) { - logger.error("cleanExpiredConsumerQueue error.", e); + log.error("cleanExpiredConsumerQueue error.", e); } return result; @@ -1267,7 +1267,7 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { public boolean cleanUnusedTopicByAddr( String addr) throws RemotingConnectException, RemotingSendRequestException, RemotingTimeoutException, MQClientException, InterruptedException { boolean result = mqClientInstance.getMQClientAPIImpl().cleanUnusedTopicByAddr(addr, timeoutMillis); - logger.warn("clean unused topic on target broker={}, execute result={}", addr, result); + log.warn("clean unused topic on target broker={}, execute result={}", addr, result); return result; } @@ -1787,7 +1787,7 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { .invokeBrokerToResetOffset(brokerAddr, topicName, consumeGroup, 0, queueId, resetOffset, timeoutMillis); if (null != result) { for (Map.Entry entry : result.entrySet()) { - logger.info("Reset single message queue {} offset from {} to {}", + log.info("Reset single message queue {} offset from {} to {}", JSON.toJSONString(entry.getKey()), entry.getValue(), resetOffset); } } diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/MQAdminStartup.java b/tools/src/main/java/org/apache/rocketmq/tools/command/MQAdminStartup.java index 00c027fa95..b98fc3b66e 100644 --- a/tools/src/main/java/org/apache/rocketmq/tools/command/MQAdminStartup.java +++ b/tools/src/main/java/org/apache/rocketmq/tools/command/MQAdminStartup.java @@ -16,6 +16,10 @@ */ package org.apache.rocketmq.tools.command; +import ch.qos.logback.classic.LoggerContext; +import ch.qos.logback.classic.joran.JoranConfigurator; +import java.nio.file.Files; +import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; import org.apache.commons.cli.CommandLine; @@ -99,6 +103,7 @@ import org.apache.rocketmq.tools.command.topic.UpdateOrderConfCommand; import org.apache.rocketmq.tools.command.topic.UpdateStaticTopicSubCommand; import org.apache.rocketmq.tools.command.topic.UpdateTopicPermSubCommand; import org.apache.rocketmq.tools.command.topic.UpdateTopicSubCommand; +import org.slf4j.LoggerFactory; public class MQAdminStartup { protected static final List SUB_COMMANDS = new ArrayList<>(); @@ -118,6 +123,7 @@ public class MQAdminStartup { initCommand(); try { + initLogback(); switch (args.length) { case 0: printHelp(); @@ -265,6 +271,19 @@ public class MQAdminStartup { initCommand(new DumpCompactionLogCommand()); } + private static void initLogback() throws Exception { + LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); + JoranConfigurator configurator = new JoranConfigurator(); + configurator.setContext(lc); + lc.reset(); + + //avoid the exception + if (ROCKETMQ_HOME != null + && Files.exists(Paths.get(ROCKETMQ_HOME + "/conf/logback_tools.xml"))) { + configurator.doConfigure(ROCKETMQ_HOME + "/conf/logback_tools.xml"); + } + } + private static void printHelp() { System.out.printf("The most commonly used mqadmin commands are:%n"); diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/ConsumerProgressSubCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/ConsumerProgressSubCommand.java index cd8d5fe191..a49b9e3a64 100644 --- a/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/ConsumerProgressSubCommand.java +++ b/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/ConsumerProgressSubCommand.java @@ -25,10 +25,12 @@ import java.util.Map; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.common.MQVersion; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.UtilAll; import org.apache.rocketmq.common.message.MessageQueue; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.RPCHook; import org.apache.rocketmq.remoting.protocol.admin.ConsumeStats; import org.apache.rocketmq.remoting.protocol.admin.OffsetWrapper; @@ -38,14 +40,12 @@ import org.apache.rocketmq.remoting.protocol.body.ConsumerRunningInfo; import org.apache.rocketmq.remoting.protocol.body.TopicList; import org.apache.rocketmq.remoting.protocol.heartbeat.ConsumeType; import org.apache.rocketmq.remoting.protocol.heartbeat.MessageModel; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.tools.admin.DefaultMQAdminExt; import org.apache.rocketmq.tools.command.SubCommand; import org.apache.rocketmq.tools.command.SubCommandException; public class ConsumerProgressSubCommand implements SubCommand { - private static final Logger log = LoggerFactory.getLogger(ConsumerProgressSubCommand.class); + private final InternalLogger log = ClientLogger.getLog(); @Override public String commandName() { diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/StartMonitoringSubCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/StartMonitoringSubCommand.java index 2d08d0bd03..bb66e89f3a 100644 --- a/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/StartMonitoringSubCommand.java +++ b/tools/src/main/java/org/apache/rocketmq/tools/command/consumer/StartMonitoringSubCommand.java @@ -18,6 +18,8 @@ package org.apache.rocketmq.tools.command.consumer; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Options; +import org.apache.rocketmq.client.log.ClientLogger; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.RPCHook; import org.apache.rocketmq.tools.command.SubCommand; import org.apache.rocketmq.tools.command.SubCommandException; @@ -26,6 +28,7 @@ import org.apache.rocketmq.tools.monitor.MonitorConfig; import org.apache.rocketmq.tools.monitor.MonitorService; public class StartMonitoringSubCommand implements SubCommand { + private final InternalLogger log = ClientLogger.getLog(); @Override public String commandName() { diff --git a/tools/src/main/java/org/apache/rocketmq/tools/monitor/DefaultMonitorListener.java b/tools/src/main/java/org/apache/rocketmq/tools/monitor/DefaultMonitorListener.java index 79f80b623b..6156230c75 100644 --- a/tools/src/main/java/org/apache/rocketmq/tools/monitor/DefaultMonitorListener.java +++ b/tools/src/main/java/org/apache/rocketmq/tools/monitor/DefaultMonitorListener.java @@ -20,36 +20,36 @@ package org.apache.rocketmq.tools.monitor; import java.util.Iterator; import java.util.Map.Entry; import java.util.TreeMap; +import org.apache.rocketmq.client.log.ClientLogger; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.protocol.body.ConsumerRunningInfo; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; public class DefaultMonitorListener implements MonitorListener { private final static String LOG_PREFIX = "[MONITOR] "; private final static String LOG_NOTIFY = LOG_PREFIX + " [NOTIFY] "; - private final Logger logger = LoggerFactory.getLogger(DefaultMonitorListener.class); + private final InternalLogger log = ClientLogger.getLog(); public DefaultMonitorListener() { } @Override public void beginRound() { - logger.info(LOG_PREFIX + "=========================================beginRound"); + log.info(LOG_PREFIX + "=========================================beginRound"); } @Override public void reportUndoneMsgs(UndoneMsgs undoneMsgs) { - logger.info(String.format(LOG_PREFIX + "reportUndoneMsgs: %s", undoneMsgs)); + log.info(String.format(LOG_PREFIX + "reportUndoneMsgs: %s", undoneMsgs)); } @Override public void reportFailedMsgs(FailedMsgs failedMsgs) { - logger.info(String.format(LOG_PREFIX + "reportFailedMsgs: %s", failedMsgs)); + log.info(String.format(LOG_PREFIX + "reportFailedMsgs: %s", failedMsgs)); } @Override public void reportDeleteMsgsEvent(DeleteMsgsEvent deleteMsgsEvent) { - logger.info(String.format(LOG_PREFIX + "reportDeleteMsgsEvent: %s", deleteMsgsEvent)); + log.info(String.format(LOG_PREFIX + "reportDeleteMsgsEvent: %s", deleteMsgsEvent)); } @Override @@ -58,7 +58,7 @@ public class DefaultMonitorListener implements MonitorListener { { boolean result = ConsumerRunningInfo.analyzeSubscription(criTable); if (!result) { - logger.info(String.format(LOG_NOTIFY + log.info(String.format(LOG_NOTIFY + "reportConsumerRunningInfo: ConsumerGroup: %s, Subscription different", criTable .firstEntry().getValue().getProperties().getProperty("consumerGroup"))); } @@ -70,7 +70,7 @@ public class DefaultMonitorListener implements MonitorListener { Entry next = it.next(); String result = ConsumerRunningInfo.analyzeProcessQueue(next.getKey(), next.getValue()); if (!result.isEmpty()) { - logger.info(String.format(LOG_NOTIFY + log.info(String.format(LOG_NOTIFY + "reportConsumerRunningInfo: ConsumerGroup: %s, ClientId: %s, %s", criTable.firstEntry().getValue().getProperties().getProperty("consumerGroup"), next.getKey(), @@ -82,6 +82,6 @@ public class DefaultMonitorListener implements MonitorListener { @Override public void endRound() { - logger.info(LOG_PREFIX + "=========================================endRound"); + log.info(LOG_PREFIX + "=========================================endRound"); } } diff --git a/tools/src/main/java/org/apache/rocketmq/tools/monitor/MonitorService.java b/tools/src/main/java/org/apache/rocketmq/tools/monitor/MonitorService.java index dbb2f13fee..5c33e8b38c 100644 --- a/tools/src/main/java/org/apache/rocketmq/tools/monitor/MonitorService.java +++ b/tools/src/main/java/org/apache/rocketmq/tools/monitor/MonitorService.java @@ -34,12 +34,14 @@ import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; import org.apache.rocketmq.client.exception.MQBrokerException; import org.apache.rocketmq.client.exception.MQClientException; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.common.MQVersion; import org.apache.rocketmq.common.MixAll; import org.apache.rocketmq.common.ThreadFactoryImpl; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.common.message.MessageQueue; import org.apache.rocketmq.common.topic.TopicValidator; +import org.apache.rocketmq.logging.InternalLogger; import org.apache.rocketmq.remoting.RPCHook; import org.apache.rocketmq.remoting.exception.RemotingException; import org.apache.rocketmq.remoting.protocol.admin.ConsumeStats; @@ -49,12 +51,10 @@ import org.apache.rocketmq.remoting.protocol.body.ConsumerConnection; import org.apache.rocketmq.remoting.protocol.body.ConsumerRunningInfo; import org.apache.rocketmq.remoting.protocol.body.TopicList; import org.apache.rocketmq.remoting.protocol.topic.OffsetMovedEvent; -import org.apache.rocketmq.shade.org.slf4j.Logger; -import org.apache.rocketmq.shade.org.slf4j.LoggerFactory; import org.apache.rocketmq.tools.admin.DefaultMQAdminExt; public class MonitorService { - private final Logger logger = LoggerFactory.getLogger(MonitorService.class); + private final InternalLogger log = ClientLogger.getLog(); private final ScheduledExecutorService scheduledExecutorService = Executors .newSingleThreadScheduledExecutor(new ThreadFactoryImpl("MonitorService")); @@ -159,7 +159,7 @@ public class MonitorService { try { MonitorService.this.doMonitorWork(); } catch (Exception e) { - logger.error("doMonitorWork Exception", e); + log.error("doMonitorWork Exception", e); } } }, 1000 * 20, this.monitorConfig.getRoundInterval(), TimeUnit.MILLISECONDS); @@ -189,7 +189,7 @@ public class MonitorService { } this.monitorListener.endRound(); long spentTimeMills = System.currentTimeMillis() - beginTime; - logger.info("Execute one round monitor work, spent timemills: {}", spentTimeMills); + log.info("Execute one round monitor work, spent timemills: {}", spentTimeMills); } private void reportUndoneMsgs(final String consumerGroup) { diff --git a/tools/src/test/java/org/apache/rocketmq/tools/command/broker/DeleteExpiredCommitLogSubCommandTest.java b/tools/src/test/java/org/apache/rocketmq/tools/command/broker/DeleteExpiredCommitLogSubCommandTest.java index 931d2b26a8..38f7250858 100644 --- a/tools/src/test/java/org/apache/rocketmq/tools/command/broker/DeleteExpiredCommitLogSubCommandTest.java +++ b/tools/src/test/java/org/apache/rocketmq/tools/command/broker/DeleteExpiredCommitLogSubCommandTest.java @@ -61,7 +61,7 @@ public class DeleteExpiredCommitLogSubCommandTest extends ServerResponseMocker { final CommandLine commandLine = ServerUtil.parseCmdLine("mqadmin " + cmd.commandName(), subargs, cmd.buildCommandlineOptions(options), new DefaultParser()); cmd.execute(commandLine, options, null); - Assert.assertTrue(outContent.toString().contains("success")); + Assert.assertTrue(outContent.toString().startsWith("success")); Assert.assertEquals("", errContent.toString()); } } diff --git a/tools/src/test/java/org/apache/rocketmq/tools/command/server/ServerResponseMocker.java b/tools/src/test/java/org/apache/rocketmq/tools/command/server/ServerResponseMocker.java index 94dca48a2e..8e043ce4bc 100644 --- a/tools/src/test/java/org/apache/rocketmq/tools/command/server/ServerResponseMocker.java +++ b/tools/src/test/java/org/apache/rocketmq/tools/command/server/ServerResponseMocker.java @@ -32,12 +32,14 @@ import io.netty.util.concurrent.Future; import java.net.InetSocketAddress; import java.util.HashMap; import java.util.concurrent.ExecutionException; +import org.apache.rocketmq.client.log.ClientLogger; import org.apache.rocketmq.remoting.netty.NettyDecoder; import org.apache.rocketmq.remoting.netty.NettyEncoder; import org.apache.rocketmq.remoting.protocol.RemotingCommand; import org.apache.rocketmq.remoting.protocol.RemotingSysResponseCode; import org.junit.After; import org.junit.Before; +import org.junit.BeforeClass; /** * mock server response for command @@ -48,6 +50,11 @@ public abstract class ServerResponseMocker { private final NioEventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + @BeforeClass + public static void setLogHome() { + System.setProperty(ClientLogger.CLIENT_LOG_ROOT, System.getProperty("java.io.tmpdir")); + } + @Before public void before() { start(); @@ -82,7 +89,7 @@ public abstract class ServerResponseMocker { .channel(NioServerSocketChannel.class) .option(ChannelOption.SO_BACKLOG, 1024) .option(ChannelOption.SO_REUSEADDR, true) - .childOption(ChannelOption.SO_KEEPALIVE, false) + .option(ChannelOption.SO_KEEPALIVE, false) .childOption(ChannelOption.TCP_NODELAY, true) .childOption(ChannelOption.SO_SNDBUF, 65535) .childOption(ChannelOption.SO_RCVBUF, 65535) diff --git a/tools/src/test/resources/rmq.logback-test.xml b/tools/src/test/resources/rmq.logback-test.xml deleted file mode 100644 index c3ec0d1e81..0000000000 --- a/tools/src/test/resources/rmq.logback-test.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - %d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n - - - - - - - - - - - - - \ No newline at end of file