답변

0

Google Cloud Console에서 필요하면 새 프로젝트를 만들고 enable the Stackdriver Error Reporting APIget an API key을 만듭니다.

그런 다음 목표는 간단한 Stackdriver 오류보고 report API endpoint을 사용하는 것입니다. HTTP POST 요청과 API 키를 사용하여 오류 스택 추적을 보냅니다.

모든 예외를 catch하고 예상되는 구조로 형식을 지정하고 Stackdriver에 POST하도록 Play Framework 애플리케이션을 계측하십시오 (적어도 JDK v1.7 이상을 사용하고 있는지 확인하십시오).

public class Application extends Controller { 

@Catch(value={Exception.class}) 
public static void onException(Exception ex) { 
    StringWriter exceptionWriter = new StringWriter(); 
    ex.printStackTrace(new PrintWriter(exceptionWriter)); 

    Map<String, Object> payload = new HashMap<String, Object>(); 
    payload.put("message", exceptionWriter.toString()); 
    Map<String,String> serviceContextData = new HashMap<String, String>(); 
    serviceContextData.put("service", "randomgift"); 
    payload.put("serviceContext", serviceContextData); 
    Gson gson = new Gson(); 
    String payloadStr = gson.toJson(payload); 

    Map<String, String> headers = new HashMap<String,String>(); 
    headers.put("Content-Type", "application/json"); 

    // Report to Stackdriver Error Reporting: 
    String apikey = "<your-api-key>"; 
    String projectName = "<your-project-id>"; 
    WS.url("https://clouderrorreporting.googleapis.com/v1beta1/projects/" + projectName + "/events:report?key=" + apikey) 
     .headers(headers) 
     .body(payloadStr) 
     .post(); 

    Logger.info("Error reported"); 
} 

}

: 여기

는 응용 프로그램 컨트롤러에 추가해야하는 코드입니다