我使用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
答案 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
一旦我做了这些事情,点击主站点就会更新日志文件。