嵌入式应用程序的高性能日志库

时间:2010-10-01 11:09:49

标签: c++ c logging embedded

我正在寻找一个我将在嵌入式设备上使用的高性能日志库。

我还想说我以前使用PaulBunyan日志库来提供一种有效的信息传输方法。

[有效率我的意思是它有一个解决方案,用于在通过低速接口(例如SERIAL)发送数据时仅传输__LINE____FILE__ - 当然是__LINE__ {先前通过扫描代码进行了{1}}映射。

你知道这些解决方案还是至少类似的解决方案?

提前感谢任何指针/类似解决方案,

尤利安

2 个答案:

答案 0 :(得分:2)

决定实施这一点,因为没有可用的开放替代品。

答案 1 :(得分:0)

最好的办法是使用您提到的相同日志库,但将特定于操作系统的代码(如:行号,文件名,串行通信)与逻辑代码分开。特定于操作系统的代码必须包含在函数或宏中,然后从逻辑代码中调用。

示例:

#OS_LINE   _LINE_
#OS_FILE   _FILE_
#OS_SEND(a) Send(a)

int log(void)
{
   char msg[50];
   sprintf(msg, "line %i, %s", OS_LINE, OS_FILE);
   OS_SEND(msg);
   return 0;
}

使用此功能,您只需更改每个设备的操作系统特定宏即可重新使用该库。