是否可以通过传递命令行标志或设置环境变量(而不是更改原始日志记录设置)来为Log4perl全局设置日志级别? documentation和FAQ似乎没有提及任何方法。
答案 0 :(得分:0)
你可以使用这样的东西:
Log::Log4perl->get_logger()->level(
Log::Log4perl::Level::to_priority($ENV{APP_LOG_LEVEL})
);
并运行脚本:
APP_LOG_LEVEL=DEBUG perl app.pl
答案 1 :(得分:0)
如果使用配置文件语法来定义appender(请注意,您不必将其放入实际文件中;您也可以在程序中包含配置定义),您已经将环境变量替换为盒子。请参阅Log4Perl documentation中名为“变量替换”的部分。