import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Squasher {
private static final String ENDPOINT = "https://ingest.squasher.ai/v1/ingest/YOUR_PROJECT_ID";
private static final String API_KEY = "sq_pk_your_api_key";
private static final HttpClient client = HttpClient.newHttpClient();
public static void captureError(Throwable error, String... tags) {
StringBuilder stack = new StringBuilder();
for (StackTraceElement el : error.getStackTrace()) {
stack.append(" at ").append(el.toString()).append("\n");
}
String json = String.format(
"{\"message\":\"%s\",\"type\":\"%s\",\"level\":\"error\",\"stack\":\"%s\"}",
error.getMessage().replace("\"", "\\\""),
error.getClass().getSimpleName(),
stack.toString().replace("\"", "\\\"").replace("\n", "\\n")
);
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(ENDPOINT))
.header("Content-Type", "application/json")
.header("x-squasher-key", API_KEY)
.POST(HttpRequest.BodyPublishers.ofString(json))
.build();
client.sendAsync(request, HttpResponse.BodyHandlers.ofString());
}
}