【问题标题】:Catalyst Log4perl: configure config file location from app configCatalyst Log4perl:从应用配置配置配置文件位置
【发布时间】:2015-07-08 14:32:54
【问题描述】:

在 Catalyst 应用程序中,我需要指定 Log4perl 的配置文件位置。我能找到的所有例子都表明我应该从代码中做到这一点。但是,我希望能够在应用程序配置文件中指定它。这将允许我为不同的环境使用不同的日志配置,并从一个文件中管理所有这些。我还希望能够从应用配置文件中设置日志级别。

但是,似乎没有记录从应用配置文件配置记录器的方法。我尝试了多种语法变体,但 Catalyst 没有一个选择。也无法从 MyApp.pm(主应用模块)中设置正确的配置文件名,因为在运行模块代码时配置尚不可用。

调试记录器初始化代码也没有帮助。我现在考虑的唯一真正方法是 require 来自 MyApp.pm 的配置文件,其中包含必要的配置。

因此问题是:

  1. 有没有办法从 Catalyst 配置文件中指定 Log4perl 配置文件的位置?
  2. 有没有办法从配置文件中指定日志级别?

【问题讨论】:

    标签: perl logging configuration catalyst log4perl


    【解决方案1】:

    我以为我已经用谷歌搜索了足够多的东西,但显然我没有。

    __PACKAGE__->setup();
    __PACKAGE__->log(Log::Log4perl::Catalyst->new(__PACKAGE__->path_to(__PACKAGE__->config->{Log}->{config_file})->stringify));
    

    (参考http://www.gossamer-threads.com/lists/catalyst/users/31271)。

    关于日志级别:它们在实际的 Log4perl 配置文件中定义。

    【讨论】:

      猜你喜欢
      • 2012-12-08
      • 2016-03-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-31
      • 2017-09-08
      • 2015-01-03
      • 2019-02-02
      • 1970-01-01
      相关资源
      最近更新 更多