Как плагин Dist::Zilla должен давать обратную связь пользователю?

У меня есть пара плагинов Dist::Zilla, которые я написал, когда я был новичком в Moose и Dist::Zilla, и в настоящее время я пытаюсь обновить их, чтобы сделать их немного более надежными и менее подверженными ошибкам,

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

[ MyPlugin ]
include = all
exclude = all

Dist::Zilla, похоже, имеет (недокументированную) внутреннюю систему журналирования, которую я изначально подключил, когда писал свои плагины, но которая больше не работает (вероятно, из-за внутренних изменений). Итак, как я должен дать обратную связь с пользователем в эти дни?

1 ответ

Решение

(Имеется в виду, чтобы указать это в комментарии, но ограничение по длине попадания).

Предостережение: я сам написал только пару маленьких плагинов dzil и не очень знаком с их внутренностями.

dzil использует Log::Dispatchouli, который также написан rjbs. Log::Dispatchouli используется несколькими другими проектами (включая проекты, запущенные людьми, отличными от rjbs), поэтому это не совсем внутренняя система ведения журнала dzil.

Насколько я понимаю, Log::Dispatchouli имеет только два уровня ведения журнала: обычный и отладочный. Журналы отладки обычно не видны в выходных данных; Вы должны сначала включить отладку. Нормальные (и отладочные) журналы могут быть отключены, если вы включите отключение звука.

Чтобы включить отладку в dzil, добавьте ключ командной строки -v. Это, похоже, не задокументировано ни в "dzil help", ни в "dzil help COMMAND". Но rjbs писал об этом.

Теперь для создания журналов внутри плагинов dzil, вы просто вызываете $self->log(...) или $self->log_debug(...). Второй будет виден, только если пользователь передаст опцию -v.

Другие вопросы по тегам