我将 systemd-journal 视为一种从外部处理器收集日志的方法。我对它在必要时收集二进制数据的能力非常感兴趣。
我现在只是在测试和调查期刊。我很清楚还有其他可能更好的解决方案。
我正在记录二进制数据,如下所示:
// strData is a string container containing binary data
strData += '\0';
sd_journal_send(
"MESSAGE=test_msg",
"MESSAGE_ID=12345",
"BINARY=%s", strData.c_str(),
NULL);
使用该journalctl
工具时会显示日志行。我可以从终端找到这样的日志行:
journalctl MESSAGE_ID=12345
我可以像这样从终端获取日志中所有日志的二进制数据:
journalctl --field=BINARY
我需要将二进制数据保存到文件中,以便我可以从程序中访问并对其进行解码。我怎样才能做到这一点?
这不起作用:
journalctl --field=BINARY MESSAGE_ID=12345
我到了那里错误:
“以 'MESSAGE_ID=1234567890987654321 开头的无关参数”
有什么建议么?systemd-journal 上的文档似乎很薄。提前致谢。