我们有一个在windows和unix上运行的c ++应用程序(控制台)。 此应用程序使用输出文件输出系统调用/打印/等的详细日志文件。 问题在于,在某些情况下,我们可能会在添加新功能后获得信号11/2。
现在,只要发生这种情况,我们就不会从日志文件中获取“几乎完整”的信息来追踪错误/问题的根源,因为当信号11发生时输出文件没有正确关闭。 (它只是部分或零大小)
我们考虑在每个fprintf行打印后添加flush命令。 问:
答案 0 :(得分:1)
您需要将日志数据不是发送到文件,而是发送到可以在30分钟内创建的外部日志记录应用程序。可以通过套接字或通过管道或使用SendMessage()Windows API(如果您以Windows为目标)发送输出。