用于实时和非实时应用程序的日志记录工具

时间:2013-01-23 21:21:28

标签: c++ linux logging real-time

我们正在开发在RT-Linux上运行的std和realtime应用程序。 问题是,从实时和非实时流程中记录应用程序跟踪的有效方法是什么

通过有效,我的意思是记录应用程序跟踪的过程不应该因为增加延迟等而导致RT-perf命中。

理想情况下,跟踪应存储在带有时间戳的单个文件中,以便更轻松地跟踪进程之间的交互。

2 个答案:

答案 0 :(得分:4)

对于实时日志我建议使用不同的aproaches而不是裸记录到文件。写入文件很多信息会影响您的表现。

我可以建议其他更轻松的机制:

  • 使用统计信息/计数器来填写您的应用程序正在执行的操作
  • 以某种二进制格式写入/编码日志以便脱机处理。这种二进制格式可能更紧凑,因此更轻。

答案 1 :(得分:1)

由于您使用的是Linux,因此可以使用syslog()

  

openlog()打开与程序的系统记录器的连接。

这意味着您的程序将消息转发给另一个程序,该程序可能具有低优先级。

如果你想要更有趣的东西,那么boost logging