Skip to content

Commit 0a3e454

Browse files
committed
HttpRouterMonitor print log once each request
1 parent 11b202d commit 0a3e454

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

mirai-api-http/src/main/kotlin/net/mamoe/mirai/api/http/adapter/http/plugin/HttpRouterMonitor.kt

+8-1
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,18 @@ import io.ktor.http.*
1313
import io.ktor.server.application.*
1414
import io.ktor.server.plugins.*
1515
import io.ktor.server.request.*
16+
import io.ktor.util.*
1617
import net.mamoe.mirai.utils.MiraiLogger
1718

18-
val logger by lazy { MiraiLogger.Factory.create(HttpRouterMonitor::class, "MAH Access") }
19+
private val monitor = AttributeKey<Unit>("HttpRouterMonitor")
20+
private val logger by lazy { MiraiLogger.Factory.create(HttpRouterMonitor::class, "MAH Access") }
21+
1922
val HttpRouterMonitor = createApplicationPlugin("HttpRouterAccessMonitor") {
2023
on(Monitor) { call ->
24+
if (call.attributes.contains(monitor)) {
25+
return@on
26+
}
27+
call.attributes.put(monitor, Unit)
2128
call.logAccess()
2229
}
2330
}

0 commit comments

Comments
 (0)