我正在寻找一个我将在嵌入式设备上使用的高性能日志库。
我还想说我以前使用PaulBunyan日志库来提供一种有效的信息传输方法。
[有效率我的意思是它有一个解决方案,用于在通过低速接口(例如SERIAL)发送数据时仅传输__LINE__
和__FILE__
- 当然是__LINE__
{先前通过扫描代码进行了{1}}映射。
你知道这些解决方案还是至少类似的解决方案?
提前感谢任何指针/类似解决方案,
尤利安
答案 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;
}
使用此功能,您只需更改每个设备的操作系统特定宏即可重新使用该库。