Mac ASL: невозможно увидеть сообщения журнала моего приложения

1377
trojanfoe

Я только что добавил поддержку журналирования ASL в свое приложение (скомпилированный двоичный файл), но я не вижу никаких записей в журнале, используя Console.app. Я регистрируюсь с помощью объекта com.mydomain.myapp (это не фактическое значение) и добавил запись, /private/etc/asl.confчтобы сказать syslogd «хранить» записи на этом объекте (с любым уровнем):

? [= Facility com.mydomain.myapp] store 

Я не справился с syslogd, поэтому перезапустил свой MacBook Pro, что также не имело значения.

Я знаю, что мое приложение регистрируется нормально, так как я добавил опцию ASL_OPT_STDERRпри звонке asl_open()и могу видеть записи на stderr. Я также установил фильтры, используя asl_set_filter(), чтобы разрешить соответствующие уровни для отправки на сервер.

РЕДАКТИРОВАТЬ: я видел эту статью, которая дает альтернативный способ установки значения 'cutoff', используемого syslogd, но не работает (пробовал временные и постоянные исправления):

... причина, по которой вы не видите сообщения Info или Debug, заключается в том, что демон syslogd фильтрует их. Если вы хотите изменить фильтрацию в syslogd, вы можете изменить параметры запуска в / System / Library / LaunchDaemons / com.apple.syslogd.plist (добавьте -c и
-7 в массиве ProgramArguments). Это делает изменение «постоянным» (пока вы снова не измените список). Смотрите справочную страницу syslogd (8).

Кроме того, вы можете временно изменить значение фильтра базы данных syslogd с помощью утилиты командной строки «syslog». sudo syslog -c syslogd -d

3

1 ответ на вопрос

0
Wilersh

Вы не говорите, является ли это приложение сценарием оболочки или скомпилированным двоичным файлом. Если это сценарий оболочки, я всегда использовал команду logger для обновления журналов в syslog. Если вы используете XCode и создаете скомпилированный проект Cocoa, вы можете получить лучшую помощь в публикации в StackOverFlow.

Это скомпилированный двоичный файл (без графического интерфейса). Я не думаю, что SO подходит, и я уверен, что это не ошибка программирования, скорее, это системная ошибка. trojanfoe 13 лет назад 0