ASL: asl_search() не может получить запись логов asl_log()

Я хочу использовать asl для управления журналами в iOS. Но у меня есть некоторые проблемы. В моей программе я использую asl_log () для записи таких журналов:

asl_log(NULL, NULL, (LEVEL), "%s", [message UTF8String]);

И я хочу прочитать все журналы, используя asl_search вот так:

q = asl_new(ASL_TYPE_QUERY);
aslresponse r = asl_search(NULL, q);

Вот мой вопрос Я могу получить сообщение, которое пишется с помощью NSLog(), но не могу получить сообщение, записанное с помощью asl_log (). Как я могу читать сообщения, написанные asl_log()? Или как это сделать правильно?

1 ответ

На устройстве я не смог заставить приложение iOS читать свои собственные записи журнала ASL без явной настройки ASL_KEY_READ_UID к "-1".

Поведение на Mac (и, следовательно, в iOS Simulator) отличается; там, по умолчанию, процесс может читать записи журнала, сделанные другими процессами.

Для получения дополнительной информации, проект с открытым исходным кодом CleanroomASL имеет сводку различий между поведением ASL на устройствах iOS и Mac.

CleanroomASL предоставляет Swift API для чтения и записи системного журнала Apple.

Другие вопросы по тегам