如果在 log4perl 初始化时我的日志目录 ( /home/hss/Data/log/DataImport.log
) 不存在,那么我会收到以下错误:
Cannot write to '/home/hss/Data/log/DataImport.log': No such file or directory
有没有办法让它自己创建目录,而我不必在我的 log.conf 文件之外的任何地方指定目录?
我很确定Log::Log4perl::Appender::File
不要创建任何目录。可能最简单的方法是将其子类化并file_open
使用目录检测/创建代码覆盖方法,然后调用原始方法。
从 1.43 版开始,在 Log::Log4perl::Appender::File 中有一个名为 mkpath 的新参数,如果它在配置中设置为 true,则会创建目录。
文档 1.43:http ://search.cpan.org/dist/Log-Log4perl-1.43/lib/Log/Log4perl/Appender/File.pm