generated from pricelees/issue-pr-template
refactor: common.utils에 분리된 MDC Util 서비스 반영
This commit is contained in:
parent
81572246d2
commit
eada35f1ee
@ -55,6 +55,7 @@ dependencies {
|
||||
// submodules
|
||||
implementation(project(":common:config"))
|
||||
implementation(project(":common:persistence"))
|
||||
implementation(project(":common:utils"))
|
||||
}
|
||||
|
||||
tasks.jar {
|
||||
|
||||
@ -17,7 +17,7 @@ import com.sangdol.roomescape.auth.exception.AuthException
|
||||
import com.sangdol.roomescape.auth.infrastructure.jwt.JwtUtils
|
||||
import com.sangdol.roomescape.auth.web.support.AdminOnly
|
||||
import com.sangdol.roomescape.auth.web.support.accessToken
|
||||
import com.sangdol.roomescape.common.util.MdcPrincipalId
|
||||
import com.sangdol.common.utils.MdcPrincipalIdUtil
|
||||
|
||||
private val log: KLogger = KotlinLogging.logger {}
|
||||
|
||||
@ -38,7 +38,7 @@ class AdminInterceptor(
|
||||
|
||||
try {
|
||||
run {
|
||||
val id: String = jwtUtils.extractSubject(token).also { MdcPrincipalId.set(it) }
|
||||
val id: String = jwtUtils.extractSubject(token).also { MdcPrincipalIdUtil.set(it) }
|
||||
val type: AdminType = validateTypeAndGet(token, annotation.type)
|
||||
val permission: AdminPermissionLevel = validatePermissionAndGet(token, annotation.privilege)
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@ import com.sangdol.roomescape.auth.exception.AuthException
|
||||
import com.sangdol.roomescape.auth.infrastructure.jwt.JwtUtils
|
||||
import com.sangdol.roomescape.auth.web.support.UserOnly
|
||||
import com.sangdol.roomescape.auth.web.support.accessToken
|
||||
import com.sangdol.roomescape.common.util.MdcPrincipalId
|
||||
import com.sangdol.common.utils.MdcPrincipalIdUtil
|
||||
|
||||
private val log: KLogger = KotlinLogging.logger {}
|
||||
|
||||
@ -33,7 +33,7 @@ class UserInterceptor(
|
||||
val token: String? = request.accessToken()
|
||||
|
||||
try {
|
||||
val id: String = jwtUtils.extractSubject(token).also { MdcPrincipalId.set(it) }
|
||||
val id: String = jwtUtils.extractSubject(token).also { MdcPrincipalIdUtil.set(it) }
|
||||
|
||||
/**
|
||||
* CLAIM_ADMIN_TYPE_KEY 가 존재하면 관리자 토큰임
|
||||
|
||||
@ -2,7 +2,7 @@ package com.sangdol.roomescape.common.log
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper
|
||||
import jakarta.servlet.http.HttpServletRequest
|
||||
import com.sangdol.roomescape.common.util.MdcPrincipalId
|
||||
import com.sangdol.common.utils.MdcPrincipalIdUtil
|
||||
|
||||
enum class LogType {
|
||||
INCOMING_HTTP_REQUEST,
|
||||
@ -33,7 +33,7 @@ class ApiLogMessageConverter(
|
||||
controllerPayload: Map<String, Any>,
|
||||
): String {
|
||||
val payload: MutableMap<String, Any> = commonRequestPayload(LogType.CONTROLLER_INVOKED, request)
|
||||
val memberId: Long? = MdcPrincipalId.extractAsLongOrNull()
|
||||
val memberId: Long? = MdcPrincipalIdUtil.extractAsLongOrNull()
|
||||
if (memberId != null) payload["principal_id"] = memberId else payload["principal_id"] = "NONE"
|
||||
|
||||
payload.putAll(controllerPayload)
|
||||
@ -47,7 +47,7 @@ class ApiLogMessageConverter(
|
||||
payload["endpoint"] = request.endpoint
|
||||
payload["status_code"] = request.httpStatus
|
||||
|
||||
MdcPrincipalId.extractAsLongOrNull()
|
||||
MdcPrincipalIdUtil.extractAsLongOrNull()
|
||||
?.let { payload["principal_id"] = it }
|
||||
?: run { payload["principal_id"] = "NONE" }
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@ import org.slf4j.MDC
|
||||
import org.springframework.web.filter.OncePerRequestFilter
|
||||
import org.springframework.web.util.ContentCachingRequestWrapper
|
||||
import org.springframework.web.util.ContentCachingResponseWrapper
|
||||
import com.sangdol.roomescape.common.util.MdcPrincipalId
|
||||
import com.sangdol.common.utils.MdcPrincipalIdUtil
|
||||
|
||||
private val log: KLogger = KotlinLogging.logger {}
|
||||
|
||||
@ -34,7 +34,7 @@ class HttpRequestLoggingFilter(
|
||||
cachedResponse.copyBodyToResponse()
|
||||
} finally {
|
||||
MDC.remove("startTime")
|
||||
MdcPrincipalId.clear()
|
||||
MdcPrincipalIdUtil.clear()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,27 +0,0 @@
|
||||
package com.sangdol.roomescape.common.util
|
||||
|
||||
import org.slf4j.MDC
|
||||
import java.util.*
|
||||
|
||||
private const val MDC_PRINCIPAL_ID_KEY = "principal_id"
|
||||
|
||||
object MdcPrincipalId {
|
||||
|
||||
fun extractAsLongOrNull(): Long? {
|
||||
return MDC.get(MDC_PRINCIPAL_ID_KEY)?.toLong()
|
||||
}
|
||||
|
||||
fun extractAsOptionalLongOrEmpty(): Optional<Long> {
|
||||
return MDC.get(MDC_PRINCIPAL_ID_KEY)?.let {
|
||||
Optional.of(it.toLong())
|
||||
} ?: Optional.empty()
|
||||
}
|
||||
|
||||
fun set(id: String) {
|
||||
MDC.put(MDC_PRINCIPAL_ID_KEY, id)
|
||||
}
|
||||
|
||||
fun clear() {
|
||||
MDC.remove(MDC_PRINCIPAL_ID_KEY)
|
||||
}
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
package com.sangdol.roomescape.schedule.infrastructure.persistence
|
||||
|
||||
import com.sangdol.common.persistence.PersistableBaseEntity
|
||||
import com.sangdol.roomescape.common.util.MdcPrincipalId
|
||||
import com.sangdol.common.utils.MdcPrincipalIdUtil
|
||||
import jakarta.persistence.*
|
||||
import org.springframework.data.annotation.CreatedBy
|
||||
import org.springframework.data.annotation.CreatedDate
|
||||
@ -53,7 +53,7 @@ class ScheduleEntity(
|
||||
}
|
||||
|
||||
fun updateLastModifiedBy() {
|
||||
MdcPrincipalId.extractAsLongOrNull()?.also { this.updatedBy = it }
|
||||
MdcPrincipalIdUtil.extractAsLongOrNull()?.also { this.updatedBy = it }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user