如果log4perl不存在,如何创建log4perl?

时间:2011-02-12 15:21:59

标签: perl log4perl

如果log4perl初始化时我的日志目录(/home/hss/Data/log/DataImport.log)不存在,那么我收到此错误:

Cannot write to '/home/hss/Data/log/DataImport.log': No such file or directory

有没有办法让它自己创建目录,而不必在我的log.conf文件中指定目录?

2 个答案:

答案 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