Я смотрю на 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 кажется скудной. Заранее спасибо.