PoCo记录。每次应用程序启动时,包含创建时间戳或新日志文件的日志文件名

时间:2014-12-11 08:58:59

标签: c++ logging poco-libraries

我需要我的程序在每次执行时启动一个新的日志文件。我想使用PoCo,因为我已经在代码中使用了这个库。

从我的角度来看,我有两种可能性,但我不知道如何使用Poco中的频道配置其中任何一种。

  • 每次程序启动时只需启动一个新文件
  • 包含创建时间戳的文件名(不是已滚动但正在写入的文件名)。

如果我没有错,那么使用FileChannel是不可能的。我想我可以写一个新的PoCo频道,但显然,我更喜欢已经有效的东西。

有人对此有任何想法。我试图找出使用两个频道,但我不知道如何。

谢谢

1 个答案:

答案 0 :(得分:1)

FileChannel具有rotateOnOpen属性。如果将其设置为true,则每次打开通道时都会创建新文件。见FileChannel。如果您没有这个属性,那么您使用的是旧版本的Poco;在这种情况下,您可以在每次应用程序启动时使用新生成的名称打开文件通道:

std::string name = yourCustomNameGenFunc(); 
AutoPtr<FileChannel> pChannel = new FileChannel(name);