Skip to content

Commit

Permalink
Merge pull request #45 from ing-bank/fix/logs
Browse files Browse the repository at this point in the history
add status code to logs
  • Loading branch information
kr7ysztof committed May 7, 2020
2 parents 6cf290f + 17f3bf9 commit 6c0db5a
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 7 deletions.
9 changes: 6 additions & 3 deletions src/main/scala/com/ing/wbaa/rokku/sts/api/STSApi.scala
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,9 @@ trait STSApi extends LazyLogging with TokenXML {
case "GetSessionToken" => getSessionTokenHandler
case "AssumeRole" => assumeRoleHandler
case action =>
implicit val returnStatusCode: StatusCodes.ClientError = StatusCodes.BadRequest
logger.warn("unhandled action {}", action)
complete(StatusCodes.BadRequest -> AwsErrorCodes.response(StatusCodes.BadRequest))
complete(returnStatusCode -> AwsErrorCodes.response(returnStatusCode))
}
}
}
Expand All @@ -63,8 +64,9 @@ trait STSApi extends LazyLogging with TokenXML {
onComplete(getAwsCredentialWithToken(keycloakUserInfo.userName, keycloakUserInfo.userGroups, durationSeconds)) {
case Success(awsCredentialWithToken) => complete(getSessionTokenResponseToXML(awsCredentialWithToken))
case Failure(ex) =>
implicit val returnStatusCode: StatusCodes.ServerError = StatusCodes.InternalServerError
logger.error("get session token error ex={}", ex)
complete(StatusCodes.InternalServerError -> AwsErrorCodes.response(StatusCodes.InternalServerError))
complete(returnStatusCode -> AwsErrorCodes.response(returnStatusCode))
}
}
}
Expand All @@ -84,8 +86,9 @@ trait STSApi extends LazyLogging with TokenXML {
keycloakUserInfo.keycloakTokenId
))
case Failure(ex) =>
implicit val returnStatusCode: StatusCodes.ServerError = StatusCodes.InternalServerError
logger.error("assume role error ex={}", ex)
complete(StatusCodes.InternalServerError -> AwsErrorCodes.response(StatusCodes.InternalServerError))
complete(returnStatusCode -> AwsErrorCodes.response(returnStatusCode))
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.ing.wbaa.rokku.sts.handler

import akka.http.scaladsl.model.{ StatusCode, StatusCodes }
import com.ing.wbaa.rokku.sts.data.RequestId
import com.typesafe.scalalogging.Logger
import org.slf4j.{ LoggerFactory, MDC }
Expand All @@ -11,29 +12,38 @@ class LoggerHandlerWithId {
Logger(LoggerFactory.getLogger(getClass.getName))

private val requestIdKey = "request.id"
private val statusCodeKey = "request.statusCode"

def debug(message: String, args: Any*)(implicit id: RequestId): Unit = {
def debug(message: String, args: Any*)(implicit id: RequestId, statusCode: StatusCode = StatusCodes.Continue): Unit = {
MDC.put(requestIdKey, id.value)
MDC.put(statusCodeKey, statusCode.value)
log.debug(message, args)
MDC.remove(requestIdKey)
MDC.remove(statusCodeKey)
}

def info(message: String, args: Any*)(implicit id: RequestId): Unit = {
def info(message: String, args: Any*)(implicit id: RequestId, statusCode: StatusCode = StatusCodes.Continue): Unit = {
MDC.put(requestIdKey, id.value)
MDC.put(statusCodeKey, statusCode.value)
log.info(message, args)
MDC.remove(requestIdKey)
MDC.remove(statusCodeKey)
}

def warn(message: String, args: Any*)(implicit id: RequestId): Unit = {
def warn(message: String, args: Any*)(implicit id: RequestId, statusCode: StatusCode = StatusCodes.Continue): Unit = {
MDC.put(requestIdKey, id.value)
MDC.put(statusCodeKey, statusCode.value)
log.warn(message, args)
MDC.remove(requestIdKey)
MDC.remove(statusCodeKey)
}

def error(message: String, args: Any*)(implicit id: RequestId): Unit = {
def error(message: String, args: Any*)(implicit id: RequestId, statusCode: StatusCode = StatusCodes.Continue): Unit = {
MDC.put(requestIdKey, id.value)
MDC.put(statusCodeKey, statusCode.value)
log.error(message, args)
MDC.remove(requestIdKey)
MDC.remove(statusCodeKey)
}

}

0 comments on commit 6c0db5a

Please sign in to comment.