Проблемы с ведением журнала ошибок Perl Catalyst и FastCgi - PullRequest
3 голосов
/ 13 октября 2011

У меня есть приложение катализатора, работающее через быстрый cgi, и журналы ошибок apache бесполезны.

Пример:

[Thu Oct 13 08:44:35 2011] [error] [client {IP}] FastCGI: server "/usr/local/www/handprints2/script/handprints2_fastcgi.pl" stderr: |  -> handprints2::View::json->process                       | 0.000523s |, referer: https://[SERVER]/handprints2/

[Thu Oct 13 08:44:35 2011] [error] [client {IP}] FastCGI: server "/usr/local/www/handprints2/script/handprints2_fastcgi.pl" stderr: | /end                                                       | 0.000324s |, referer: https://[SERVER]handprints2/

[Thu Oct 13 08:44:35 2011] [error] [client {IP}] FastCGI: server "/usr/local/www/handprints2/script/handprints2_fastcgi.pl" stderr: '------------------------------------------------------------+-----------', referer: https://[SERVER]/handprints2/

Есть ли способ это исправить?

Ответы [ 2 ]

2 голосов
/ 21 октября 2011

У меня была та же проблема, и я не нашел подходящего маршрута конфигурации журнала Apache.

Хотя это довольно хорошо работает: https://metacpan.org/pod/Catalyst::Plugin::Log::Handler

Описание из CPAN:

Если ваш проект Catalyst регистрирует много сообщений, запись из стандартной ошибки в журнал ошибок Apache не очень чиста: сообщения журнала смешиваются с шумом других веб-приложений;и особенно если вы используете mod_fastcgi, к каждой строке будет добавляться длинный префикс.

Альтернативой является запись в файл.Но тогда вы должны убедиться, что несколько процессов не повредят файл журнала.Модуль Log :: Handler от Jonny Schulz делает именно это, потому что поддерживает флокирование по сообщениям.

Этот модуль является оберткой для указанного Log :: Handler.

2 голосов
/ 14 октября 2011

Вы можете настроить свои собственные потоки журналов и форматировать в apache, используя директивы TransferLog и LogFormat:

   TransferLog /tmp/sample.log
    LogFormat "bazinga -> %U"

См. Директивы ведения журнала Apache 2.0 или Директивы ведения журнала Apache 1.3

...