Журнал событий событий в гобелен - PullRequest
0 голосов
/ 16 января 2019

Я хочу регистрировать все вызовы событий. Например, если пользователь нажимает на ActionLink, я хочу получить информацию о том, что событие Action только что произошло.

В документации , касающейся ведения журнала, указано, что это возможно, но я не совсем понимаю, как это сделать. Там написано:

Tapestry также может отлаживать логику событий компонентов. Регистратор компонента с «tapestry.events». префикс, используется на уровне отладки. Выходные данные отладки идентифицируют имя события и источник события и идентифицируют любые методы, которые вызываются.

Обратите внимание, что события, которые не обрабатываются компонентом, будут пузыриться до контейнер компонента; дальнейшее ведение журнала для того же события происходят с использованием регистратора, связанного с контейнером. Страница содержащий начальный компонент является последним шагом при регистрации.

Это не совсем инструкция. Я пробовал что-то похожее на this , но я не смог найти способ включить свойство регистрации событий регистратора. В настоящее время я настраиваю логгер только на уровень отладки, например:

org.apache.log4j.Logger.getRootLogger().setLevel(Level.DEBUG);   
org.apache.log4j.Logger.getLogger("de.[...].Edit").setLevel(Level.DEBUG);

Но это только кажется, что активирует уровень отладки, а события по-прежнему не отслеживаются.

Также обратите внимание, что по какой-то причине я в настоящее время не могу найти свой файл log4j.properties (log4j не жалуется, хотя, возможно, он где-то существует), поэтому решение без требования этого файла будет отлично. Если это невозможно, это тоже не будет проблемой, я просто создам новый файл свойств или что-то в этом роде.

1 Ответ

0 голосов
/ 16 января 2019

На самом деле мне нужно было только правильно прочитать документацию. Регистратор событий получен так:

org.apache.log4j.Logger eventLogger = org.apache.log4j.Logger.getLogger("tapestry.events.de.[...].Edit");

Который затем можно настроить на отладку аналогично обычному регистратору:

eventLogger.setLevel(Level.DEBUG);
...