diff --git a/src/dev/peerat/framework/Client.java b/src/dev/peerat/framework/Client.java index a34af01..6dd0484 100644 --- a/src/dev/peerat/framework/Client.java +++ b/src/dev/peerat/framework/Client.java @@ -29,14 +29,17 @@ public class Client extends Thread{ writer.flush(); writer.close(); }catch(InvalidJwtException e){ + this.router.getExceptionLogger().setValue(e); }catch(Exception e){ - e.printStackTrace(); + this.router.getExceptionLogger().setValue(e); if(context != null && context.getResponseCode() == 0){ try{ context.response(500); writer.flush(); writer.close(); - }catch(Exception ex){} + }catch(Exception ex){ + this.router.getExceptionLogger().setValue(ex); + } } } if(context != null) router.getLogger().setValue(context); @@ -53,7 +56,9 @@ public class Client extends Thread{ writer.response(401, this.router.getDefaultHeaders(type)); writer.flush(); writer.close(); - }catch(Exception ex){} + }catch(Exception ex){ + this.router.getExceptionLogger().setValue(ex); + } throw e; } } diff --git a/src/dev/peerat/framework/Router.java b/src/dev/peerat/framework/Router.java index 106ecd0..d993dd5 100644 --- a/src/dev/peerat/framework/Router.java +++ b/src/dev/peerat/framework/Router.java @@ -30,6 +30,7 @@ public class Router{ } private Locker logger; + private Locker exceptions; private RouteMapper[] mappers; private List interceptors; private Response noFileFound; @@ -42,6 +43,7 @@ public class Router{ public Router() throws Exception{ this.logger = new Locker<>(); + this.exceptions = new Locker<>(); int types = RequestType.values().length; this.mappers = new RouteMapper[types]; this.interceptors = new ArrayList<>(); @@ -142,6 +144,10 @@ public class Router{ return this.logger; } + public Locker getExceptionLogger(){ + return this.exceptions; + } + public void listen(int port, boolean ssl) throws Exception{ if (ssl) { // Not needed with the use of a proxy try {