From 6d55664d527b6b6e32829739c1d6817caef3746e Mon Sep 17 00:00:00 2001 From: Eric Easley Date: Tue, 1 Aug 2017 22:34:42 -0700 Subject: [PATCH] Log parse failures --- .../org/coursera/naptime/actions/RestAction.scala | 15 ++++++++++++--- version.sbt | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/naptime/src/main/scala/org/coursera/naptime/actions/RestAction.scala b/naptime/src/main/scala/org/coursera/naptime/actions/RestAction.scala index 61b70b9d..4505d404 100644 --- a/naptime/src/main/scala/org/coursera/naptime/actions/RestAction.scala +++ b/naptime/src/main/scala/org/coursera/naptime/actions/RestAction.scala @@ -16,6 +16,9 @@ package org.coursera.naptime.actions + +import com.typesafe.scalalogging.StrictLogging +import java.nio.charset.StandardCharsets import org.coursera.naptime.model.KeyFormat import org.coursera.naptime.RestError import org.coursera.naptime.NaptimeActionException @@ -60,7 +63,7 @@ import scala.util.control.NonFatal * TODO(saeta): Enforce RACType extends from RestActionCategory. */ trait RestAction[RACType, AuthType, BodyType, KeyType, ResourceType, ResponseType] - extends EssentialAction with RequestTaggingHandler { + extends EssentialAction with RequestTaggingHandler with StrictLogging { import play.api.libs.concurrent.Execution.Implicits.defaultContext @@ -162,8 +165,14 @@ trait RestAction[RACType, AuthType, BodyType, KeyType, ResourceType, ResponseTyp // If it was an auth error, override with that. Otherwise serve the body error. authResult.map { authResult => authResult.fold( - error => error.result, // TODO: log? - successAuth => bodyError) // TODO: log? + authError => authError.result, + _ => { + bodyError.body.run(Iteratee.consume[Array[Byte]]()).map { bytes => + logger.warn( + s"${new String(bytes, StandardCharsets.UTF_8)} on request ${rh.uri}") + } + bodyError + }) } case Right(a) => authResult.flatMap { authResult => diff --git a/version.sbt b/version.sbt index 8e8a39d9..ca68fcbd 100644 --- a/version.sbt +++ b/version.sbt @@ -1 +1 @@ -version in ThisBuild := "0.8.3" +version in ThisBuild := "0.8.4"