/dev/consoleПристрій не особливо пов'язано з консолі додатки.
У Mac OS X 10.6 додаток Console має два типи джерел даних, які він читає: звичайні файли журналів (наприклад, файли в /var/log/) та повідомлення, що реєструються через систему розширення (Apple Extended).
Якщо у вас є файл журналу, який потрібно відстежувати, ви можете скористатися пунктом меню Файл > Відкрити… (⌘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 буде зберігати більшість повідомлень.
Повідомлення генерується , як це буде відображатися в консолі «и вбудований" Все Messsages "пошук в базі даних
(файл All Messages.aslqueryв /Applications/Utilities/Console.app/Contents/Resources/ASLQueries/технічно обмежує його повідомлення , де поле Facility" містить "порожній рядок, але ця умова тривіально задовольняється будь-яким Facility значення).
Якщо ви хочете , щоб ваше повідомлення з'явиться в консолі «s вбудованого пошуку бази даних" консоль повідомлення ", то ви повинні бути трохи більш конкретною. Він відображає лише (зберігаються) повідомлення, у яких поле "Фабрика" дорівнює 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для встановлення рівня). Це означає, що ми повинні поставити повідомлення єдиним аргументом, щоб воно могло бути значенням Повідомлення.