From edb1713f91eb599d8572586672a82045252da62a Mon Sep 17 00:00:00 2001 From: Him188 Date: Mon, 16 Aug 2021 16:00:57 +0800 Subject: [PATCH] Add `TraceLoggingNoticeProcessor` --- .../src/commonMain/kotlin/QQAndroidBot.kt | 4 ++- .../notice/TraceLoggingNoticeProcessor.kt | 33 +++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 mirai-core/src/commonMain/kotlin/network/notice/TraceLoggingNoticeProcessor.kt diff --git a/mirai-core/src/commonMain/kotlin/QQAndroidBot.kt b/mirai-core/src/commonMain/kotlin/QQAndroidBot.kt index b733017eb..870835017 100644 --- a/mirai-core/src/commonMain/kotlin/QQAndroidBot.kt +++ b/mirai-core/src/commonMain/kotlin/QQAndroidBot.kt @@ -37,6 +37,7 @@ import net.mamoe.mirai.internal.network.handler.state.StateObserver import net.mamoe.mirai.internal.network.handler.state.safe import net.mamoe.mirai.internal.network.impl.netty.ForceOfflineException import net.mamoe.mirai.internal.network.impl.netty.NettyNetworkHandlerFactory +import net.mamoe.mirai.internal.network.notice.TraceLoggingNoticeProcessor import net.mamoe.mirai.internal.network.notice.UnconsumedNoticesAlerter import net.mamoe.mirai.internal.network.notice.decoders.GroupNotificationDecoder import net.mamoe.mirai.internal.network.notice.decoders.MsgInfoDecoder @@ -171,8 +172,9 @@ internal open class QQAndroidBot constructor( GroupMessageProcessor(pipelineLogger.subLogger("GroupMessageProcessor")), PrivateMessageProcessor(), OtherClientNoticeProcessor(), + GroupRecallProcessor(), UnconsumedNoticesAlerter(pipelineLogger.subLogger("UnconsumedNoticesAlerter")), - GroupRecallProcessor() + TraceLoggingNoticeProcessor(pipelineLogger.subLogger("TraceLoggingNoticeProcessor")) ) ) diff --git a/mirai-core/src/commonMain/kotlin/network/notice/TraceLoggingNoticeProcessor.kt b/mirai-core/src/commonMain/kotlin/network/notice/TraceLoggingNoticeProcessor.kt new file mode 100644 index 000000000..69da9eb77 --- /dev/null +++ b/mirai-core/src/commonMain/kotlin/network/notice/TraceLoggingNoticeProcessor.kt @@ -0,0 +1,33 @@ +/* + * Copyright 2019-2021 Mamoe Technologies and contributors. + * + * 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证. + * Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link. + * + * https://github.com/mamoe/mirai/blob/dev/LICENSE + */ + +package net.mamoe.mirai.internal.network.notice + +import net.mamoe.mirai.internal.network.components.PipelineContext +import net.mamoe.mirai.internal.network.components.SimpleNoticeProcessor +import net.mamoe.mirai.internal.utils.io.ProtocolStruct +import net.mamoe.mirai.utils.MiraiLogger +import net.mamoe.mirai.utils.systemProp +import net.mamoe.mirai.utils.warning +import net.mamoe.mirai.utils.withSwitch + +internal class TraceLoggingNoticeProcessor( + logger: MiraiLogger +) : SimpleNoticeProcessor(type()) { + private val logger: MiraiLogger = logger.withSwitch(systemProp("mirai.network.notice.trace.logging", false)) + + override suspend fun PipelineContext.processImpl(data: ProtocolStruct) { + logger.warning { "${data::class.simpleName}: isConsumed=$isConsumed" } + } + +// override suspend fun PipelineContext.processImpl(data: MsgType0x210) { +// logger.warning { "MsgType0x210: isConsumed=$isConsumed" } +// } +// +} \ No newline at end of file