Log4perl:如何即时切换到其他命名的日志文件?

Log4perl: how to switch to other-named log file on the fly?

我是 Log4perl::KISS 模块,我想转换 log_open 函数,以便它可以随时动态切换当前日志文件,而无需完全 Log::Log4perl 重新初始化。

我知道 Log4perl 中的文件追加器可以切换到同名文件(添加这种可能性是为了允许日志轮换),但我需要切换到不同的文件名。我不知道如何在切换到另一个文件句柄之前更改文件附加程序使用的文件名。

如果可能,如何更改附加程序的文件名?

有个file_switch method in Log::Log4perl::Appender::File that's briefly touched upon in the Description section.

If you want to switch over to a different logfile, use the file_switch($newfile) method which will first close the old file handle and then open a one to the new file specified.

没有关于它的进一步文档,但我相信你可以使用它。