【问题标题】:Catalyst: Log4perl and Apache催化剂:Log4perl 和 Apache
【发布时间】:2013-04-10 07:25:51
【问题描述】:

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

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

如果我改用catalyst的集成开发服务器,日志是正常生成的。

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

有人知道是什么导致了这个问题吗???

这是我的 log4perl 配置:

log4perl.logger.myapp=INFO,日志文件

log4perl.appender.LOGFILE=Log::Log4perl::Appender::文件

log4perl.appender.LOGFILE.filename=myapp.log

log4perl.appender.LOGFILE.mode=append

log4perl.appender.LOGFILE.layout=PatternLayout

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

【问题讨论】:

    标签: perl apache web-applications catalyst log4perl


    【解决方案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
    

    完成这些操作后,访问主站点会更新日志文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-02
      • 2012-12-03
      • 1970-01-01
      • 2016-09-08
      • 2020-01-05
      • 2020-12-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多