/ / Jak mogę uzyskać ślad stosu, gdy w Jersey wystąpi błąd 500 serwera? - maven, koszulka-2.0, grizzly

Jak mogę uzyskać śledzenie stosu, gdy 500 błędów serwera ma miejsce w Jersey? - maven, jersey-2.0, grizzly

Na serwerze jersey mam błąd serwera 500:

  • W odpowiedzi serwera nie ma śladu stosu ani niektórych informacji.

  • W konsoli Eclipse nie ma śledzenia stosu wyjątków

Próbuję wyłapać wyjątek na serwerze i wydrukować ślad w konsoli, ale nic się nie dzieje

Jak mogę uzyskać ślad stosu, gdy wystąpi błąd serwera 500?

Odpowiedzi:

2 dla odpowiedzi № 1

W większości przypadków rodzajowy ExceptionMapper da rade.

@Provider
public class DebugMapper implements ExceptionMapper<Throwable> {
@Override
public Response toResponse(Throwable t) {
t.printStackTrace()
return Response.serverError()
.entity(t.getMessage())
.build();
}
}

Następnie zarejestruj to

ResourceConfig config = new ResourceConfig()
.register(DebugMapper.class);

Kiedyś wyjątek zostanie połknięty przez Jersey, gdy wyjątek nie zostanie zmapowany i nie zobaczysz, co się stało. Zwykle działa to, gdy problem występuje na poziomie Jersey.