Ведение логов в Catalyst с помощью Log::Dispatch

Log::Dispatch помогает задать - насколько подробно будет осуществляться логирование. Будут ли выводиться в лог только критические ошибки, или будут включены и отладочные сообщения, или уровень, начиная с не критичных предупреждений. Кроме того, с помощью Log::Dispatch удобно задавать объекты для вывода сообщений.

Пример использования Log::Dispatch в Catalyst-приложении

Как создать Catalyst-приложение с нуля >>

app::Log.pm :

По умолчанию, для управления логами Catalyst использует Catalyst::Log. Если необходимо вмешаться в процесс логирования, используется инструкция:

и в дальнейшем, команды типа:

app.pm :

Root.pm :

С помощью переменной DEBUG реализуется вариативность работы с логами. Если переменная задана:

вывод всей отладочной информации осуществляется прямо на экран рабочего терминала.

Если переменная DEBUG не задана:

запись данных будет вестись в файл devlogfile. Если файла devlogfile не существует, приложение создаст его.

Пример записи в devlogfile:

С помощью дополнительных модулей, можно организовать вывод логов в таблицы базы данных (Log::Dispatch::DBI), через Jabber (Log::Dispatch::Jabber), в окно Tk (Log::Dispatch::Tk), в окно windows event log (Log::Dispatch::Win32EventLog), и множество других интересных вариантов: Log::Dispatch::Syslog, Log::Dispatch::ApacheLog, Log::Dispatch::Email, и т.п.

Данная вариантивность особенно удобна, при запуске Catalyst-приложения в разных средах, с разным окружением и для разных целей. Ведение логов на боевых серверах отличается от ведения логов в момент разработки.

Полезные ссылки:

search.cpan.org: Log::Dispatch

search.cpan.org: Catalyst, $c->log

search.cpan.org: Catalyst::Log