Катализатор: Log4perl и Apache

Я размещаю свое веб-приложение Catalyst с помощью Apache2 и ModPerl. Веб-приложение использует модуль Log4perl для создания лог-файлов.

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

Если вместо этого я использую интегрированный сервер разработки Catalyst, записи в журнале генерируются нормально.

Я уже проверил права доступа, и они кажутся в порядке: процесс apache является владельцем и может писать.

Кто-нибудь знает, что вызывает эту проблему???

Это моя конфигурация log4perl:

log4perl.logger.myapp=ИНФОРМАЦИЯ, ФАЙЛ ЖУРНАЛА

log4perl.appender.LOGFILE=Log::Log4perl::Appender::Файл

log4perl.appender.LOGFILE.filename=myapp.log

log4perl.appender.LOGFILE.mode=добавлять

log4perl.appender.LOGFILE.layout=ШаблонМакет

log4perl.appender.LOGFILE.layout.ConversionPattern=[%d] [%p] %m%n


person theguest    schedule 17.04.2013    source источник


Ответы (1)


Я настроил тестовое приложение, работающее на Apache2 и mod_perl, и оно заработало. Вот заметки, которые я сделал по этому поводу.

Я использовал Log::Log4perl::Catalyst для ведения журнала в Catalyst. Вы упомянули об использовании Log4perl, но я не знал, используете ли вы расширение Catalyst или нет. В моем основном пакете у меня были следующие строки:

use Log::Log4perl::Catalyst;
...
__PACKAGE__->log(Log::Log4perl::Catalyst->new('/full/path/to/l4p.conf'));

Мне пришлось указать полный путь к файлу конфигурации журнала. Я добавил несколько операторов ведения журнала, чтобы убедиться, что это работает.

Я использовал ваш образец выше, но я изменил одну вещь. Мне пришлось снова указать полный путь к местоположению журнала:

log4perl.appender.LOGFILE.filename=/full/path/to/myapp.log

Как только я сделал это, зайдя на основной сайт, я обновил файл журнала.

person Joel    schedule 04.05.2013