Как зарегистрировать многострочное сообщение с командой регистратора?

Как насчет владения/полномочий файлов то, что вы указывали? Я более склонен думать, что Apache не может добраться до них, а не этого являющийся Apache в этой точке.

Редактирование с решением: Поместить Options +FollowSymLinks выше RewriteEngine On

7
задан 28 June 2014 в 10:41
5 ответов

Можно сделать следующее:

MESSAGE="this is my message: \nhello \nnewline \nin logger"
logger "$(printf "$MESSAGE")"
0
ответ дан 2 December 2019 в 23:42

Логгер не содержит этой функциональности, он в основном ориентирован на строки - каждая строка является новым сообщением.

Многострочные сообщения журнала также являются настоящей болью в использовании стандартных утилит, таких как grep и т.п. В зависимости от времени их поступления сообщения также могут разбиваться на части, что затрудняет отслеживание соответствующей информации.

Лучшее решение - записывать сообщения в журнал как одно сообщение. Как предполагает @Benjamin, вы можете использовать tr или использовать echo -En. Если вам действительно нужен \n для последующего отображения, то используйте tr, чтобы изменить \n на какой-то другой символ, который ваша утилита не будет генерировать для записи журнала, а при чтении используйте tr, чтобы преобразовать его обратно в \n.

3
ответ дан 2 December 2019 в 23:42

альтернативой - предполагая, что вам нужно сохранить строки разделенные 'newline' - будет сначала запись в временный файл, а затем пользователь

logger -t <title> -f <temp-file> 
0
ответ дан 2 December 2019 в 23:42

Конечно, просто замените \n на пробел, так как это :

echo -e "foo\nbar" | tr '\n' ' '. | логгер

2
ответ дан 2 December 2019 в 23:42

Разделить вывод ...
Пример:

ip route show |while read line; do logger -t TEST $line; done
0
ответ дан 2 December 2019 в 23:42

Теги

Похожие вопросы