2014-11-05 2 views
0

오류가 발생한 곳에서 오류 파일 이름을 가져 오는 방법은 무엇입니까?줄 번호 및 파일 이름 PlayFramework

내가 JSON에서 오류를 처리 할 수 ​​APIAction과 행동을 포장 : 여기가 기록하고 싶지만 사용자에게 반환하지 않는 것을

/** 
    * 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

답변

0

파일 이름과 라인 번호는 각각 .getStackTrace()(0).getFileName.getStackTrace()(0).getLineNumber이며 로그인해야합니다. 로그 파일에 속합니다.

사용자에게 예외를 표시하는 것은 좋지 않으므로 파일 이름과 줄을 사용자에게 노출 시켜서는 안됩니다.

+0

사용자에게 파일 이름을 표시 할 필요가 없습니다. 오류를 더 빠르게 찾으려면 내부적으로 기록하고 싶습니다. –

+0

Logger.error ("Exception in API", msg)가이를 수행합니다. –