Docs · Java

Logs y alertas en Java, en 5 minutos

Los errores de tu app de Java con su stack, el hilo de cada petición entre tus servicios y el aviso al teléfono cuando un pedido no termina. Un archivo, sin dependencias, en segundo plano.

  1. 1

    Instala

    // copia Estiaje.java a tu proyecto (Java 17 o superior)

    Es un archivo sin dependencias: cópialo de aquí. Cambia "mi-api" por el nombre de tu servicio.

  2. 2

    Tu llave

    Crea tu cuenta y pon la llave en ESTIAJE_TOKEN. O pídele a tu IA «conecta este repo a Estiaje» (el conector). Sin la llave no sale nada por la red: puedes instrumentar hoy.

  3. 3

    Tus errores y el hilo de cada petición

    ● Probado en CI
    // al arrancar, en tu main
    Estiaje.capturarErrores();   // los que nadie atrapó
    
    // el hilo de cada petición, en un filtro
    @Component
    public class HiloEstiaje extends OncePerRequestFilter {
        @Override
        protected void doFilterInternal(HttpServletRequest req, HttpServletResponse res, FilterChain chain)
                throws ServletException, IOException {
            Estiaje.empezarHilo(req.getHeader("traceparent"));
            try {
                chain.doFilter(req, res);
            } finally {
                Estiaje.terminarHilo();
            }
        }
    }
    // un worker o un programa que termina enseguida
    public static void main(String[] args) {
        Estiaje.capturarErrores();   // los que nadie atrapó
        Estiaje.empezarHilo(null);   // un hilo nuevo para este trabajo
        procesar();
        Estiaje.evento("corte.terminado", Map.of()).join();   // espera el envío antes de salir
    }
  4. 4

    El proceso que debe terminar

    Estiaje.evento("pedido.pagado", Map.of("order_id", pedido.getId(), "monto", pedido.getTotal()));
    // … cuando se surte …
    Estiaje.evento("pedido.surtido", Map.of("order_id", pedido.getId()));
  5. 5

    El aviso

    En el panel, en Procesos: «todo pedido.pagado espera su pedido.surtido, por order_id, en 30 minutos». Si no llega, te avisa al teléfono, por correo o en Slack, con el dinero en riesgo.

Y si quieres más
  • Los errores que atrapas: Estiaje.error(e, Map.of("order_id", pedido.getId())), con su stack.
  • Al llamar a otro servicio con RestClient, pasa el hilo: un interceptor que pone traceparent con Estiaje.traceparent() (la receta).
  • Java 17 o superior; usa el HttpClient de Java, nada más.

Todo lo demás está en la documentación completa.

Crear cuenta, 14 días de Pro Sin tarjeta. En pesos.