Логгер не содержит этой функциональности, он в основном ориентирован на строки - каждая строка является новым сообщением.
Многострочные сообщения журнала также являются настоящей болью в использовании стандартных утилит, таких как grep и т.п. В зависимости от времени их поступления сообщения также могут разбиваться на части, что затрудняет отслеживание соответствующей информации.
Лучшее решение - записывать сообщения в журнал как одно сообщение. Как предполагает @Benjamin, вы можете использовать tr или использовать echo -En. Если вам действительно нужен \n для последующего отображения, то используйте tr, чтобы изменить \n на какой-то другой символ, который ваша утилита не будет генерировать для записи журнала, а при чтении используйте tr, чтобы преобразовать его обратно в \n.
альтернативой - предполагая, что вам нужно сохранить строки разделенные 'newline' - будет сначала запись в временный файл, а затем пользователь
logger -t <title> -f <temp-file>
Конечно, просто замените \n на пробел, так как это :
echo -e "foo\nbar" | tr '\n' ' '. | логгер