提升日志-不同的进程到一个日志文件
Boost log - Different processes to one log file?
是否可以将来自不同进程(可执行文件)的日志消息写入同一日志文件。在C++(Boost.Log)中使用Boost.Log
这不是直接支持的。Boost.Log不执行进程间同步,也不希望其他进程干扰日志文件。
可以实现进程间日志记录方案,其中多个进程将日志记录发送到实际写入日志文件的一个公共进程。您可以使用syslog后端或使用基于套接字的流的流后端来完成此操作。当然,实现自定义接收器后端也是可能的。
没有,你不会想要的。
首先需要进程间文件锁定,这意味着每个试图记录日志的进程的每个线程都将在一个进程间互斥体上同步。从性能角度来看,最好在一个进程中的一个线程中编写整个软件堆栈!
实现您想要的目标的方法可能是有一个专门用于日志记录的进程,并通过unix套接字、命名管道或消息总线将日志消息发送到该进程。
如果通过套接字,请确保使用异步I/O来发送这些消息。unix套接字IO非常快速,因此您可能不需要它。
相关文章:
- 查询事件日志.如何查询才能单独获取第一个和最后一个事件?
- 写一个日志收集器/阅读器,有什么好的设计吗?
- 我正在尝试用 c++ 制作一个日志记录框架,但信息没有传递给记录器的子组件,我做错了什么?
- 提升日志 V2 轮换保留一个文件作为"master"
- boost::log关闭日志文件并打开一个新文件
- boost.log-一个日志文件的多个进程
- Pantheios:当太大时创建一个新的日志文件
- 如何通过谷歌博客将日志打印到一个文件中
- 提升日志-不同的进程到一个日志文件
- C++:解析拆分但一个条目可以包含多行的日志
- 一个方便的C++日志记录语句,使用boost::格式
- 创建一个简单的窗口来输出用于调试的信息(日志样式)- wxWidgets
- 一个可以指定基数的c++日志实现
- 日志程序在一个单独的c++线程中
- 多个日志程序写入一个文件
- 创建一个没有时间字符串的Google日志文件
- 管道到我的程序作为一个日志旋转器
- 施放一个提升::日志::表达式::attr< std::string > to std::string
- 如何创建一个宏来验证HR和日志
- 我可以得到一个日志的优化应用的编译器