From 81d68482bc394a392be35807cbf9a51ea93804dc Mon Sep 17 00:00:00 2001 From: pricelees Date: Tue, 29 Jul 2025 13:59:01 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20=EB=A1=9C=EA=B7=B8=20=EB=A7=88?= =?UTF-8?q?=EC=8A=A4=ED=82=B9=EC=97=90=EC=84=9C=20=EB=A7=A8=20=EC=95=9E,?= =?UTF-8?q?=20=EB=A7=A8=20=EB=92=A4=20=EA=B8=80=EC=9E=90=EB=8A=94=20?= =?UTF-8?q?=ED=91=9C=EC=8B=9C=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/log/RoomescapeLogMaskingConverter.kt | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/roomescape/common/log/RoomescapeLogMaskingConverter.kt b/src/main/kotlin/roomescape/common/log/RoomescapeLogMaskingConverter.kt index 58e41174..7778d96f 100644 --- a/src/main/kotlin/roomescape/common/log/RoomescapeLogMaskingConverter.kt +++ b/src/main/kotlin/roomescape/common/log/RoomescapeLogMaskingConverter.kt @@ -11,10 +11,9 @@ import roomescape.common.config.JacksonConfig private const val MASK: String = "****" private val SENSITIVE_KEYS = setOf("password", "accessToken") +private val objectMapper: ObjectMapper = JacksonConfig().objectMapper() -class RoomescapeLogMaskingConverter( - private val objectMapper: ObjectMapper = JacksonConfig().objectMapper() -) : MessageConverter() { +class RoomescapeLogMaskingConverter : MessageConverter() { override fun convert(event: ILoggingEvent): String { val message: String = event.formattedMessage @@ -42,8 +41,17 @@ class RoomescapeLogMaskingConverter( return regex.replace(message) { matchResult -> val key = matchResult.groupValues[1] val delimiter = matchResult.groupValues[2] + val maskedValue = maskValue(matchResult.groupValues[3]) - "${key}${delimiter}${MASK}" + "${key}${delimiter}${maskedValue}" + } + } + + private fun maskValue(value: String): String { + return if (value.length <= 2) { + MASK + } else { + "${value.first()}$MASK${value.last()}" } }