На самом деле мне нужно было только правильно прочитать документацию. Регистратор событий принимается так:
org.apache.log4j.Logger eventLogger = org.apache.log4j.Logger.getLogger("tapestry.events.de.[...].Edit");
, который затем можно настроить на отладку аналогично обычному регистратору:
eventLogger.setLevel(Level.DEBUG);
Насколько я знаю, функции сна обычно реализуются больше как постепенно уменьшающийся счетчик. Вы говорите "сон в течение 10 секунд", который переводит в "сон для 1 000 галочек расписания" в планировщике, и затем каждый раз, когда планировщик проверяет ждущие процессы, он постепенно уменьшает оставленное количество времени.
Таким образом время сна всегда будет суммой реального времени для сна, в противоположность сну до некоторого времени в будущем. Причина этого состоит в том, как Вы подозревали, если мы выбираем время в будущем, мы никогда не могли бы добираться там (или мог бы добраться там за неожиданное количество времени). Это согласовывается с тем, для чего Вы хотели бы использовать сон в программе. Это не предназначено, чтобы сделать подобные календарю вычисления.
Можно также сделать простой тест, сделать сон программы в течение 30 секунд, использовать отклонить команду "времени" для времени, сколько времени функция работает, и после того, как это запускается, изменяют системные часы назад 5 минут и видят то, что происходит.
Поток будет проверять внутренний счетчик, который установлен на продолжительность сна не в конец точка сна. Внутренний используемый счетчик не имеет никакого отношения к текущему системному времени и поэтому не будет затронут, если какие-либо изменения происходят в системное время.