1

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

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

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

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

任何人都知道是什么导致了这个问题???

这是我的 log4perl 配置:

log4perl.logger.myapp=信息,日志文件

log4perl.appender.LOGFILE=日志::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

4

1 回答 1

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

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

于 2013-05-04T13:48:19.670 回答