/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.