我正在为我的项目使用poco记录器。我想要一种行为,如果进程重新启动,则poco不会创建新的日志记录文件。在我的配置下面:我在做什么错?我发现每次重新启动时,poco都会覆盖日志,而不是附加到先前的日志。
AutoPtr<FileChannel> pFile(new FileChannel(logfile));
pFile->setProperty("rotateOnOpen","true");
pFile->setProperty("rotation","1 M");
pFile->setProperty("archive", "timestamp");
pFile->setProperty("compress", "true");
pFile->setProperty("purgeAge", "1 months");
AutoPtr<Formatter> pformatter(new PatternFormatter("%d-%m-%Y %H:%M:%S %s: %t"));
pformatter->setProperty("times","local");
AutoPtr<Channel> pformattingchannel(new FormattingChannel(pformatter,pFile));
Logger::root().setChannel(pformattingchannel);
Logger::root().setLevel(Poco::Message::PRIO_INFORMATION);
最佳答案
您特别要求在打开时旋转日志文件:
pFile->setProperty("rotateOnOpen","true");
Documentation状态:
关于c++ - 在流程重启时,Poco记录器不会将日志追加到现有日志文件中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38985080/