C++ 尝试旋转空文件时boost log rotate_文件引发错误?

C++ 尝试旋转空文件时boost log rotate_文件引发错误?,c++,boost-log,C++,Boost Log,我正在使用boost日志,并且每个周期我都手动更改日志文件,因此我需要使用rotate\u文件。 当文件中有日志时,一切正常。 当文件为空但我需要关闭它并打开下一个文件时,请旋转文件以给出与文件系统相关的错误?? 如何旋转空文件??? 我需要在没有任何日志的空文件的锁定后端上使用rotate\u file。 我试图locked\u backend->close\u file(),但由于对后端是私有的,因此出现了错误。当您没有写入任何日志记录,并且以前没有与您设置的文件名模式匹配的日志文件时,就没

我正在使用boost日志,并且每个周期我都手动更改日志文件,因此我需要使用rotate\u文件。
当文件中有日志时,一切正常。
当文件为空但我需要关闭它并打开下一个文件时,请旋转文件以给出与文件系统相关的错误??
如何旋转空文件???
我需要在没有任何日志的空文件的锁定后端上使用
rotate\u file


我试图
locked\u backend->close\u file()
,但由于对后端是私有的,因此出现了错误。

当您没有写入任何日志记录,并且以前没有与您设置的文件名模式匹配的日志文件时,就没有任何日志文件(即,它不是空文件,但根本没有文件)。在这种情况下,手动旋转文件将抛出,表示失败。如何处理这种例外情况取决于你。如果愿意,您可以忽略它。

我调试了这个rotate\u文件,发现打开文件的是后端的consume成员。我找到文件谓词来指示文件的存在。我将使用此选项来避免旋转不存在的文件..我还尝试打开后端的文件,但找不到控制后端成员的方法