[O] Better logging

This commit is contained in:
Azalea
2024-02-22 23:50:58 -05:00
parent eccdd73908
commit bb53d1448b
3 changed files with 17 additions and 15 deletions

View File

@@ -13,7 +13,6 @@ import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RequestHeader import org.springframework.web.bind.annotation.RequestHeader
import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RequestParam import org.springframework.web.bind.annotation.RequestParam
import org.springframework.web.server.ResponseStatusException
typealias RP = RequestParam typealias RP = RequestParam
typealias RB = RequestBody typealias RB = RequestBody
@@ -42,4 +41,6 @@ val HTTP = HttpClient(CIO) {
} }
} }
fun Long.toHex(len: Int = 16): Str = "0x${this.toString(len).padStart(len, '0').uppercase()}"
suspend fun <T> async(block: suspend kotlinx.coroutines.CoroutineScope.() -> T): T = withContext(Dispatchers.IO) { block() } suspend fun <T> async(block: suspend kotlinx.coroutines.CoroutineScope.() -> T): T = withContext(Dispatchers.IO) { block() }

View File

@@ -1,5 +1,6 @@
package icu.samnyan.aqua.sega.aimedb package icu.samnyan.aqua.sega.aimedb
import ext.toHex
import icu.samnyan.aqua.sega.general.model.Card import icu.samnyan.aqua.sega.general.model.Card
import icu.samnyan.aqua.sega.general.service.CardService import icu.samnyan.aqua.sega.general.service.CardService
import io.netty.buffer.ByteBuf import io.netty.buffer.ByteBuf
@@ -40,8 +41,8 @@ class AimeDbRequestHandler(
0x09 to ::doLog, 0x09 to ::doLog,
0x0b to ::doCampaign, 0x0b to ::doCampaign,
0x0d to ::doTouch, 0x0d to ::doTouch,
0x0f to ::doLookup2, 0x0f to ::doLookupV2,
0x11 to ::doFelicaLookup2, 0x11 to ::doFelicaLookupV2,
0x13 to ::doUnknown19, 0x13 to ::doUnknown19,
0x64 to ::doHello, 0x64 to ::doHello,
0x66 to ::doGoodbye 0x66 to ::doGoodbye
@@ -85,7 +86,7 @@ class AimeDbRequestHandler(
fun doFelicaLookup(msg: ByteBuf): ByteBuf { fun doFelicaLookup(msg: ByteBuf): ByteBuf {
val idm = msg.slice(0x20, 0x28 - 0x20).getLong(0) val idm = msg.slice(0x20, 0x28 - 0x20).getLong(0)
val pmm = msg.slice(0x28, 0x30 - 0x28).getLong(0) val pmm = msg.slice(0x28, 0x30 - 0x28).getLong(0)
logger.info("> Felica Lookup v1 ($idm, $pmm)") logger.info("> Felica Lookup v1 (idm ${idm.toHex()}, pmm ${pmm.toHex()})")
// Get the decimal represent of the hex value, same from minime // Get the decimal represent of the hex value, same from minime
val accessCode = idm.toString().replace("-", "").padStart(20, '0') val accessCode = idm.toString().replace("-", "").padStart(20, '0')
@@ -101,16 +102,16 @@ class AimeDbRequestHandler(
/** /**
* Felica Lookup v2: Look up the card in the card repository, return the External ID * Felica Lookup v2: Look up the card in the card repository, return the External ID
*/ */
fun doFelicaLookup2(msg: ByteBuf): ByteBuf { fun doFelicaLookupV2(msg: ByteBuf): ByteBuf {
val idm = msg.slice(0x20, 0x28 - 0x20).getLong(0) val idm = msg.slice(0x20, 0x28 - 0x20).getLong(0)
val pmm = msg.slice(0x28, 0x30 - 0x28).getLong(0) val pmm = msg.slice(0x28, 0x30 - 0x28).getLong(0)
logger.info("> Felica Lookup v2 ($idm, $pmm)") logger.info("> Felica Lookup v2 (idm $idm, pmm $pmm)")
// Get the decimal represent of the hex value, same from minime // Get the decimal represent of the hex value, same from minime
val accessCode = idm.toString().replace("-", "").padStart(20, '0') val accessCode = idm.toString().replace("-", "").padStart(20, '0')
val aimeId = cardService.getCardByAccessCode(accessCode).getOrNull()?.extId ?: -1 val aimeId = cardService.getCardByAccessCode(accessCode).getOrNull()?.extId ?: -1
logger.info("Response: $accessCode, $aimeId") logger.info("> Response: $accessCode, $aimeId")
return Unpooled.copiedBuffer(ByteArray(0x0140)).apply { return Unpooled.copiedBuffer(ByteArray(0x0140)).apply {
setShortLE(0x04, 0x12) setShortLE(0x04, 0x12)
setShortLE(0x08, 1) setShortLE(0x08, 1)
@@ -127,7 +128,7 @@ class AimeDbRequestHandler(
*/ */
fun doLookup(msg: ByteBuf): ByteBuf { fun doLookup(msg: ByteBuf): ByteBuf {
val luid = ByteBufUtil.hexDump(msg.slice(0x20, 0x2a - 0x20)) val luid = ByteBufUtil.hexDump(msg.slice(0x20, 0x2a - 0x20))
logger.info("> Lookup v1 ($luid)") logger.info("> Lookup v1 (luid $luid)")
val aimeId = cardService.getCardByAccessCode(luid).getOrNull()?.extId ?: -1 val aimeId = cardService.getCardByAccessCode(luid).getOrNull()?.extId ?: -1
@@ -140,13 +141,13 @@ class AimeDbRequestHandler(
} }
} }
fun doLookup2(msg: ByteBuf): ByteBuf { fun doLookupV2(msg: ByteBuf): ByteBuf {
val luid = ByteBufUtil.hexDump(msg.slice(0x20, 0x2a - 0x20)) val luid = ByteBufUtil.hexDump(msg.slice(0x20, 0x2a - 0x20))
logger.info("> Lookup v2 ($luid)") logger.info("> Lookup v2 (luid $luid)")
val aimeId = cardService.getCardByAccessCode(luid).getOrNull()?.extId ?: -1 val aimeId = cardService.getCardByAccessCode(luid).getOrNull()?.extId ?: -1
logger.info("Response: $aimeId") logger.info("> Response: $aimeId")
return Unpooled.copiedBuffer(ByteArray(0x0130)).apply { return Unpooled.copiedBuffer(ByteArray(0x0130)).apply {
setShortLE(0x04, 0x10) setShortLE(0x04, 0x10)
setShortLE(0x08, 1) setShortLE(0x08, 1)
@@ -160,7 +161,7 @@ class AimeDbRequestHandler(
*/ */
fun doRegister(msg: ByteBuf): ByteBuf { fun doRegister(msg: ByteBuf): ByteBuf {
val luid = ByteBufUtil.hexDump(msg.slice(0x20, 0x2a - 0x20)) val luid = ByteBufUtil.hexDump(msg.slice(0x20, 0x2a - 0x20))
logger.info("> Register ($luid)") logger.info("> Register (luid $luid)")
var status = 0 var status = 0
var aimeId = 0L var aimeId = 0L
@@ -201,8 +202,8 @@ class AimeDbRequestHandler(
* Touch: Just return a status 1 * Touch: Just return a status 1
*/ */
fun doTouch(msg: ByteBuf): ByteBuf { fun doTouch(msg: ByteBuf): ByteBuf {
val aimeId = msg.getUnsignedIntLE(0x20) val luid = msg.getUnsignedIntLE(0x20)
logger.info("> Touch ($aimeId)") logger.info("> Touch (luid $luid)")
return Unpooled.copiedBuffer(ByteArray(0x50)).apply { return Unpooled.copiedBuffer(ByteArray(0x50)).apply {
setShortLE(0x04, 0x0e) setShortLE(0x04, 0x0e)

View File

@@ -51,7 +51,7 @@ class AimeDbServer(
val socket = InetSocketAddress(InetAddress.getByName(props.address), props.port) val socket = InetSocketAddress(InetAddress.getByName(props.address), props.port)
val f = bootstrap.bind(socket).sync() val f = bootstrap.bind(socket).sync()
logger.info("Aime DB start up on $socket") logger.info("Aime DB start up on $socket")
f.channel().closeFuture() f.channel().closeFuture()
} }
catch (e: UnknownHostException) { catch (e: UnknownHostException) {