From e6daeaeb28ecc3fad6d13c8470587010bc8ea418 Mon Sep 17 00:00:00 2001 From: Dominik Auf der Maur Date: Tue, 26 Apr 2016 15:17:59 +0200 Subject: [PATCH] log exceptions thrown in async tasks --- src/main/java/io/socket/thread/EventThread.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/io/socket/thread/EventThread.java b/src/main/java/io/socket/thread/EventThread.java index 64c6ab9..4398620 100644 --- a/src/main/java/io/socket/thread/EventThread.java +++ b/src/main/java/io/socket/thread/EventThread.java @@ -4,6 +4,8 @@ package io.socket.thread; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ThreadFactory; +import java.util.logging.Level; +import java.util.logging.Logger; /** @@ -11,6 +13,8 @@ import java.util.concurrent.ThreadFactory; */ public class EventThread extends Thread { + private static final Logger logger = Logger.getLogger(EventThread.class.getName()); + private static final ThreadFactory THREAD_FACTORY = new ThreadFactory() { @Override public Thread newThread(Runnable runnable) { @@ -73,6 +77,9 @@ public class EventThread extends Thread { public void run() { try { task.run(); + } catch (Throwable t) { + logger.log(Level.SEVERE, "Task threw exception", t); + throw t; } finally { synchronized (EventThread.class) { counter--;