Catalyst Log4perl:从应用程序配置配置配置文件位置
Catalyst Log4perl: configure config file location from app config
在 Catalyst 应用程序中,我需要指定 Log4perl 的配置文件位置。我能找到的所有示例都表明我应该从代码中做到这一点。但是,我希望能够在应用程序配置文件中指定它。这将允许我为不同的环境使用不同的日志配置,并从一个文件中管理所有这些。我还希望能够从应用程序配置文件设置日志级别。
但是,似乎没有记录从应用程序配置文件配置记录器的方法。我尝试了多种语法变体,但 Catalyst 选择了 none。也不可能从 MyApp.pm(主应用程序模块)设置正确的配置文件名,因为当模块代码为 运行.
时配置尚不可用
调试记录器初始化代码也没有帮助。我现在考虑的唯一真正的方法是 require
来自 MyApp.pm 的配置文件,其中包括必要的配置。
因此问题是:
- 有没有办法从 Catalyst 配置文件中指定 Log4perl 配置文件的位置?
- 有没有办法从配置文件中指定日志级别?
我以为我已经搜索够了,但显然我没有。
__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 配置文件中定义。
在 Catalyst 应用程序中,我需要指定 Log4perl 的配置文件位置。我能找到的所有示例都表明我应该从代码中做到这一点。但是,我希望能够在应用程序配置文件中指定它。这将允许我为不同的环境使用不同的日志配置,并从一个文件中管理所有这些。我还希望能够从应用程序配置文件设置日志级别。
但是,似乎没有记录从应用程序配置文件配置记录器的方法。我尝试了多种语法变体,但 Catalyst 选择了 none。也不可能从 MyApp.pm(主应用程序模块)设置正确的配置文件名,因为当模块代码为 运行.
时配置尚不可用调试记录器初始化代码也没有帮助。我现在考虑的唯一真正的方法是 require
来自 MyApp.pm 的配置文件,其中包括必要的配置。
因此问题是:
- 有没有办法从 Catalyst 配置文件中指定 Log4perl 配置文件的位置?
- 有没有办法从配置文件中指定日志级别?
我以为我已经搜索够了,但显然我没有。
__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 配置文件中定义。