繁体   English   中英

提升日志-对一个日志文件进行不同的处理?

[英]Boost log - Different processes to one log file?

是否可以将来自不同进程(可执行文件)的日志消息写入同一日志文件。 使用Boost.Log登录C ++( Boost.Log

不直接支持。 Boost.Log不执行进程间同步,也不希望其他进程与日志文件混淆。

可以实现一种进程间日志记录方案,其中多个进程将日志记录发送到实际正在写入日志文件的一个通用进程。 您可以使用syslog后端或具有基于套接字的stream流backend进行操作。 当然,实现自定义接收器后端也是可行的。

不,您不想。

首先,您需要锁定进程间文件,这意味着每个试图记录的进程的每个线程都将在一个进程间互斥锁上同步。 在性能方面,最好在一个进程中用一个线程编写整个软件堆栈!

实现所需目标的方法可能是拥有一个专用于日志记录的进程,然后通过unix套接字,命名管道或消息总线将日志消息发送到该进程。

如果通过套接字,请确保使用异步I / O发送这些消息。 Unix套接字IO非常快,因此您可能不需要那里。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM