New Relic Java エージェント API を使用すると、Java アプリケーションでカスタム コールバック実装を使用してカスタム エラー グループを設定できます。このドキュメントでは、サンプル アプリケーションでのコールバック実装でカスタム エラー グループ化を使用する例を示します。
重要
APIを快適にご利用いただくために、 最新のJavaエージェント・リリース をご用意ください。
例: カスタム エラー グループ化コールバックの実装
以下は、Java エージェント API を使用してコールバックによるカスタム エラー グループ化を実装し、コールバックを登録するサンプル アプリケーションの例です。
ヒント
サンプルコードをコピー&ペーストする場合は、コマンドラインに適切なスペースを確保してください。
package test;import java.io.IOException;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse; import com.newrelic.api.agent.ErrorGroupCallback;import com.newrelic.api.agent.NewRelic; public class MyServletContextListener implements ServletContextListener { @Overridepublic void contextDestroyed(ServletContextEvent arg0) {// Do any cleanup if needed } @Overridepublic void contextInitialized(ServletContextEvent arg0) {// Register the error grouping callback on application startupNewRelic.setErrorGroupCallback(new MyErrorGrouper()); }} public class MyErrorGrouper implements ErrorGroupCallback { public String generateGroupingString(ErrorData errorData) {String clazz = errorData.getErrorClass();String txnName = errorData.getTransactionName(); return (clazz.isEmpty() || txnName.isEmpty()) ? null : clazz + "_" + txnName; }} public class TestServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void processRequest(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {// Simulate an exception throw new ServletException("Simulated ServletException"); } @Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException { processRequest(req, resp); } @Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { processRequest(req, resp); }}```