2

通读Boost.Log的文档,它解释了如何从一个应用程序很好地“扇出”到多个文件/接收器,以及如何让多个线程一起工作以登录到一个地方,但是是否有任何文档说明如何让多个进程记录到一个日志文件?

我想象的是每个进程都会记录到自己的“私有”日志文件中,但此外,任何超过一定严重性的消息也会进入“公共”日志文件。Boost.Log 有可能吗?是否有一些水槽配置可以让这变得容易?

我知道我可能会遇到此处的常见问题解答中描述的相同“时间戳乱序”问题,但没关系,只要时间戳正确,我就可以使用它。这一切都在一台机器上,所以也没有远程文件系统问题。

4

1 回答 1

1

我的期望是直接写入日志文件的 Boost.Log 后端将在写入日志条目之间保持这些文件打开。这将导致在多个进程中使用同一个日志文件时出现问题,因为文件系统通常不允许多个进程写入一个文件。

有一些 Boost.Log 后端可用于将所有日志记录放在一个地方。这些是系统日志Windows 事件日志后端。其中,syslog 后端可能是最容易使用的。

于 2012-11-06T19:28:23.210 回答