Устройство /dev/console
не имеет особого отношения к консольному приложению.
В Mac OS X 10.6 консольное приложение имеет два вида источников данных, которые оно читает: обычные файлы журналов (например, файлы в /var/log/
) и сообщения, записываемые с помощью (расширенного Apple) средства системного журнала .
Если у вас есть файл журнала, который вы хотите отслеживать, вы можете использовать пункт меню File > Open… (⌘O) для просмотра файла в консоли.
Примечание. Единственный способ удалить файл из списка файлов консоли , по-видимому, - использовать пункт меню « Файл» > « Переместить в корзину» (⌘⌫); будьте готовы вытащить файл из корзины, если вы просто хотите прекратить его просмотр в консоли.
Вы можете использовать программу командной строки syslog для отправки сообщений в средство syslog.
syslog -s Your message goes here. \(quote special chars for the shell'!)'
Однако в конфигурации по умолчанию это сообщение никогда не будет отображаться ни в одном из представлений консоли, поскольку его «уровень» слишком низок, чтобы быть важным. Эта начальная фильтрация вызвана syslogd. Это настраивается с помощью файлов asl.conf
и syslog.conf
. Конфигурация по умолчанию не хранит большинство сообщений, если их уровень слишком низок (а syslog -s
умолчанию имеет самый низкий уровень). Консоль может показывать только те сообщения, которые были сохранены syslogd.
Вы можете изменить значение поля Уровень, используя опцию -l
:
syslog -s -l notice This message should show up in \"All Messages\" \
with a Facility of syslog.
Уровень notice
- это самый низкий уровень (по умолчанию), для которого syslogd будет хранить большинство сообщений.
Сообщение генерируется , как это будет отображаться в консоли «s встроенный„Все Messsages“поиск в базе данных
(файл All Messages.aslquery
в /Applications/Utilities/Console.app/Contents/Resources/ASLQueries/
технически ограничивает его сообщением, в котором поле Facility «содержит» пустую строку, но это условие тривиально удовлетворяется любым значением Facility),
Если вы хотите , чтобы ваше сообщение появится в консоли «s встроенной„консольных сообщений“поиск в базе данных, то вы должны быть немного более конкретными. Он показывает только (сохраненные) сообщения с полем Facility, равным com.apple.console
(см. Файл Console Messages.aslquery
в /Applications/Utilities/Console.app/Contents/Resources/ASLQueries/
). Вы можете создавать такие сообщения с помощью syslog с помощью опции -k
для установки поля Facility.
syslog -s -k Facility com.apple.console \
-k Level notice \
-k Message 'This will show up in "Console Messages"'
При использовании -k
все параметры и само сообщение должны указываться с помощью наборов аргументов -k key value
(мы не можем использовать -l
для установки уровня). Это означает, что мы должны поместить сообщение в один аргумент, чтобы оно могло быть значением поля Message.