Catalyst:Log4perl和Apache

时间:2013-04-17 13:39:25

标签: perl apache web-applications catalyst log4perl

我使用Apache2和ModPerl托管我的Catalyst Web应用程序。 Web应用程序使用Log4perl模块生成日志文件。

问题是apache服务启动时只生成日志条目。之后没有生成新条目。

如果我使用催化剂的集成开发服务器,则会正常生成日志条目。

我已经检查了访问权限,这些似乎没问题:apache进程是所有者,可以写。

任何人都知道导致这个问题的原因???

这是我的log4perl配置:

  

log4perl.logger.myapp = INFO,LOGFILE

     

log4perl.appender.LOGFILE =登录:: Log4perl ::追加程序::文件

     

log4perl.appender.LOGFILE.filename = myapp.log

     

log4perl.appender.LOGFILE.mode =附加

     

log4perl.appender.LOGFILE.layout =的PatternLayout

     

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

1 个答案:

答案 0 :(得分:0)

我设置了一个在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

一旦我做了这些事情,点击主站点就会更新日志文件。