【问题标题】:How to setup Stackdriver Error Reporting on Play Framework 1.4如何在 Play Framework 1.4 上设置 Stackdriver 错误报告
【发布时间】:2016-11-24 13:35:11
【问题描述】:

我正在 Heroku 上运行 Play Framework 1.4 应用程序。 我的目标是在我的生产应用程序中捕获任何 Java 异常并将其报告给 Stackdriver Error Reporting 以进行自动异常监控和警报。

【问题讨论】:

    标签: java playframework google-cloud-platform stackdriver google-cloud-error-reporting


    【解决方案1】:

    Google Cloud Console 中,如果需要,创建一个新项目,然后创建enable the Stackdriver Error Reporting APIget an API key

    那么目标是使用简单的 Stackdriver Error Reporting report API endpoint:使用 HTTP POST 请求和 API 密钥发送错误堆栈跟踪。

    检测 Play Framework 应用程序以捕获所有异常,将它们格式化为预期的结构并将它们 POST 到 Stackdriver(确保您至少使用 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");
    }
    

    }

    【讨论】:

      猜你喜欢
      • 2016-07-22
      • 1970-01-01
      • 1970-01-01
      • 2019-05-29
      • 2018-02-27
      • 2018-02-07
      • 1970-01-01
      • 1970-01-01
      • 2017-06-11
      相关资源
      最近更新 更多