/**
* Thread's UncaughtExceptionHandler which logs to slf4j.
*
+ * @deprecated This class forms a hard dependency on SLF4J API and is therefore deprecated for removal.
* @author Michael Vorburger.ch
*/
+@Deprecated
@SuppressWarnings({"checkstyle:LoggerVariableName", "LoggerVariableModifiers"})
public final class LoggingThreadUncaughtExceptionHandler implements UncaughtExceptionHandler {
}
public ThreadFactory get() {
- ThreadFactoryBuilder guavaBuilder = new ThreadFactoryBuilder();
- guavaBuilder.setNameFormat(namePrefix() + "-%d");
- guavaBuilder.setUncaughtExceptionHandler(LoggingThreadUncaughtExceptionHandler.toLogger(logger()));
- guavaBuilder.setDaemon(daemon());
+ ThreadFactoryBuilder guavaBuilder = new ThreadFactoryBuilder()
+ .setNameFormat(namePrefix() + "-%d")
+ .setUncaughtExceptionHandler((thread, exception)
+ -> logger().error("Thread terminated due to uncaught exception: {}", thread.getName(), exception))
+ .setDaemon(daemon());
priority().ifPresent(guavaBuilder::setPriority);
logger().info("ThreadFactory created: {}", namePrefix());
return guavaBuilder.build();