/dev/consoleУстройство не особенно связано с консоли приложения.
В Mac OS X 10.6 консольное приложение имеет два вида источников данных, которые оно читает: обычные файлы журналов (например, файлы в /var/log/) и сообщения, записываемые с помощью (расширенного Apple) средства системного журнала .
Если у вас есть файл журнала, который вы хотите отслеживать, вы можете использовать пункт меню Файл > Открыть… (⌘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/). Вы можете генерировать такие сообщения с помощью системного журнала, -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.