通读the doc对于 Boost.Log,它解释了如何从一个应用程序很好地“扇出”到多个文件/接收器,以及如何让多个线程一起工作以记录到一个地方,但是是否有关于如何获得多个进程日志记录的文档到单个日志文件?
我想象的是每个进程都会记录到它自己的“私有(private)”日志文件,但除此之外,任何超过特定严重性的消息也会记录到“公共(public)”日志文件。这可能与 Boost.Log 相关吗?是否有一些接收器配置可以简化此操作?
我知道我可能会遇到 FAQ here 中描述的相同“时间戳乱序”问题,但没关系,只要时间戳正确,我就可以使用它。这一切都在一台机器上进行,因此也没有远程文件系统问题。
最佳答案
我的期望是直接写入日志文件的 Boost.Log 后端将在写入日志条目之间保持这些文件打开。 这将导致从多个进程使用相同的日志文件时出现问题,因为文件系统通常不允许多个进程写入一个文件。
有一些 Boost.Log 后端可用于将所有日志记录集中在一个地方。 这些是 syslog和 Windows eventlog后端。其中,系统日志后端可能是最容易使用的。
关于c++ - Boost.Log - 一个日志文件的多个进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13255785/