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