行号和文件名PlayFramework

时间:2014-11-05 10:32:23

标签: json logging playframework-2.0

如何在错误发生时获取错误文件名?

我使用API​​Action包装Action来处理Json中的错误:

  /**
   * Handling Exception and wrapping them into Json.
   * @param f
   * @return
   */
  def APIAction(f: Request[AnyContent] => Result): Action[AnyContent] = {
    Action { request =>
      try { f(request) }
      catch {
        case msg: Throwable => {
          Logger.error("Exception in API", msg)
          InternalServerError(Json.obj("code" -> "500", "message" -> msg.toString, "desc" -> msg.getMessage))
        }
      }
    }
  }

这里我想要记录但不要返回给用户 enter image description here

这里是我用JSON包装所有内容后得到的内容 enter image description here

1 个答案:

答案 0 :(得分:0)

文件名和行号分别位于.getStackTrace()(0).getFileName.getStackTrace()(0).getLineNumber中,应记录到您所属的日志文件中。

向用户显示例外不是一个好主意,您不应该向用户公开文件名和行。