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.