refactor: 로그 마스킹에서 맨 앞, 맨 뒤 글자는 표시하도록 수정

This commit is contained in:
이상진 2025-07-29 13:59:01 +09:00
parent 00f560a411
commit 81d68482bc

View File

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