Loading app/controllers/BaseController.scala +9 −6 Original line number Diff line number Diff line package controllers import controllers.auth.AuthenticationModule import controllers.auth.{AuthRequest, AuthenticationModule} import exceptions.MissingRequiredParamException import models.{CerebroRequest, CerebroResponse, Hosts} import play.api.Logger import play.api.libs.json.Json import play.api.libs.json.{JsValue, Json} import play.api.mvc.{Controller, Result} import scala.concurrent.Future Loading @@ -16,8 +16,6 @@ trait BaseController extends Controller with AuthSupport { val hosts: Hosts protected val logger = Logger("elastic") type RequestProcessor = (CerebroRequest) => Future[Result] final def process(processor: RequestProcessor) = AuthAction(authentication).async(parse.json) { request => Loading @@ -25,10 +23,15 @@ trait BaseController extends Controller with AuthSupport { processor(CerebroRequest(request, hosts)) } catch { case e: MissingRequiredParamException => Future.successful(CerebroResponse(400, Json.obj("error" -> e.getMessage))) // FIXME: proper error handling Future.successful(CerebroResponse(400, Json.obj("error" -> e.getMessage))) case NonFatal(e) => Future.successful(CerebroResponse(500, Json.obj("error" -> "Error"))) // FIXME: proper error handling Logger.error(s"Error processing request [${formatRequest(request)}]", e) Future.successful(CerebroResponse(500, Json.obj("error" -> e.getMessage))) } } private def formatRequest(request: AuthRequest[JsValue]): String = { s"path: ${request.uri}, body: ${request.body.toString}" } } app/controllers/RestController.scala +2 −1 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ import play.api.libs.json.{JsArray, JsString, Json} import scala.concurrent.ExecutionContext.Implicits.global import scala.util.Try import scala.util.control.NonFatal import play.api.Logger class RestController @Inject()(val authentication: AuthenticationModule, val hosts: Hosts, Loading @@ -28,7 +29,7 @@ class RestController @Inject()(val authentication: AuthenticationModule, val bodyAsString = body.map(_.toString).getOrElse("{}") val username = request.user.map(_.name).getOrElse("") Try(restHistoryDAO.save(RestRequest(path, method, bodyAsString, username, new Date(System.currentTimeMillis)))).recover { case DAOException(msg, e) => logger.error(msg, e) case DAOException(msg, e) => Logger.error(msg, e) } CerebroResponse(s.status, s.body) Loading conf/logback.xml +1 −2 Original line number Diff line number Diff line Loading @@ -16,8 +16,7 @@ </appender> <logger name="play" level="INFO"/> <logger name="application" level="DEBUG"/> <logger name="elastic" level="TRACE"/> <logger name="application" level="INFO"/> <!-- Off these ones as they are annoying, and anyway we manage configuration ourself --> <logger name="com.avaje.ebean.config.PropertyMapLoader" level="OFF"/> Loading Loading
app/controllers/BaseController.scala +9 −6 Original line number Diff line number Diff line package controllers import controllers.auth.AuthenticationModule import controllers.auth.{AuthRequest, AuthenticationModule} import exceptions.MissingRequiredParamException import models.{CerebroRequest, CerebroResponse, Hosts} import play.api.Logger import play.api.libs.json.Json import play.api.libs.json.{JsValue, Json} import play.api.mvc.{Controller, Result} import scala.concurrent.Future Loading @@ -16,8 +16,6 @@ trait BaseController extends Controller with AuthSupport { val hosts: Hosts protected val logger = Logger("elastic") type RequestProcessor = (CerebroRequest) => Future[Result] final def process(processor: RequestProcessor) = AuthAction(authentication).async(parse.json) { request => Loading @@ -25,10 +23,15 @@ trait BaseController extends Controller with AuthSupport { processor(CerebroRequest(request, hosts)) } catch { case e: MissingRequiredParamException => Future.successful(CerebroResponse(400, Json.obj("error" -> e.getMessage))) // FIXME: proper error handling Future.successful(CerebroResponse(400, Json.obj("error" -> e.getMessage))) case NonFatal(e) => Future.successful(CerebroResponse(500, Json.obj("error" -> "Error"))) // FIXME: proper error handling Logger.error(s"Error processing request [${formatRequest(request)}]", e) Future.successful(CerebroResponse(500, Json.obj("error" -> e.getMessage))) } } private def formatRequest(request: AuthRequest[JsValue]): String = { s"path: ${request.uri}, body: ${request.body.toString}" } }
app/controllers/RestController.scala +2 −1 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ import play.api.libs.json.{JsArray, JsString, Json} import scala.concurrent.ExecutionContext.Implicits.global import scala.util.Try import scala.util.control.NonFatal import play.api.Logger class RestController @Inject()(val authentication: AuthenticationModule, val hosts: Hosts, Loading @@ -28,7 +29,7 @@ class RestController @Inject()(val authentication: AuthenticationModule, val bodyAsString = body.map(_.toString).getOrElse("{}") val username = request.user.map(_.name).getOrElse("") Try(restHistoryDAO.save(RestRequest(path, method, bodyAsString, username, new Date(System.currentTimeMillis)))).recover { case DAOException(msg, e) => logger.error(msg, e) case DAOException(msg, e) => Logger.error(msg, e) } CerebroResponse(s.status, s.body) Loading
conf/logback.xml +1 −2 Original line number Diff line number Diff line Loading @@ -16,8 +16,7 @@ </appender> <logger name="play" level="INFO"/> <logger name="application" level="DEBUG"/> <logger name="elastic" level="TRACE"/> <logger name="application" level="INFO"/> <!-- Off these ones as they are annoying, and anyway we manage configuration ourself --> <logger name="com.avaje.ebean.config.PropertyMapLoader" level="OFF"/> Loading