Ariman wrote:Сообщения должны возникать только при проблемах и должны помочь для багрепортов. Консольное сообщение можно просто не заметить, а возможности показывать фаровые диалоги из модулей нет.
На мой взгляд, идеально было бы так:
* Модули вообще никакие сообщения ни в какой форме непосредственно не выводят. Вместо этого они аккумулируют всё, что они „хотят сказать” про конкретный файл, и отдают это наверх, диспетчеру.
* При наличии ошибок/предупреждений головной плагин как-то (см. ниже) сигнализирует об их наличии, а также предоставляет возможность посмотреть подробности.
* Как сигнализировать наличие/подробности ошибок, можно было бы задавать настройкой (никак/ консольное сообщение/ фаровский диалог/ графический диалог/ …), однако достаточно будет выводить в консоль ярким цветом (при умолчательной палитре — красным) строку о количестве ошибок/предупреждений и предложение почитать журнал.
* Журнал можно было бы использовать системный (
Event Log) или файл где-то в локальном профиле пользователя. В последнем случае желательно иметь возможность настраивать степень подробности — например, как в
log4j или как в
Ruby Logger::Severity.