Add TraceLoggingNoticeProcessor

This commit is contained in:
Him188 2021-08-16 16:00:57 +08:00
parent f5fe442cc8
commit edb1713f91
2 changed files with 36 additions and 1 deletions

View File

@ -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"))
)
)

View File

@ -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<ProtocolStruct>(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" }
// }
//
}