I would like to somehow log every time Thread.interrupt()
is called, logging which Thread issued the call (and its current stack) as well as identifying information
You could try also with JMX:
ManagementFactory.getThreadMXBean().getThreadInfo(aThreadID)
with the ThreadInfo object you can log:
EDIT
use getAllThreadIds() in order to obtain the list of live thread ids:
long[] ids = ManagementFactory.getThreadMXBean().getAllThreadIds();