Сообщения журнала, отправленные в ASL, не отображаются в запросе

Я пытаюсь запросить сообщения журнала, отправленные через ASL и оболочку NSLog. Запустив приведенный ниже код на устройстве iOS 9, я получаю один ответ от запроса ASL, и это первая строка журнала, отправленная через NSLog. Вторая строка "Hello from asl_log" не возвращается запросом, даже если она отправляется клиенту ASL по умолчанию. Любые предложения о том, что я могу делать не так с запросом или вызовом asl_log?

// Send test data
NSLog(@"Hello from NSLog");
asl_log(NULL, NULL, ASL_LEVEL_EMERG, "Hello from asl_log");

// Query all logged strings
aslmsg query = asl_new(ASL_TYPE_QUERY);
aslresponse response = asl_search(NULL, query);   
asl_free(query);

// Only one message found: "Hello from NSLog"
aslmsg message;
while((message = asl_next(response))) {
    const char *msg = asl_get(message, ASL_KEY_MSG);
}

1 ответ

Решение

Попробовав несколько способов установить ASL_KEY_READ_UID в "-1"Следуя подсказке bk138, я наконец-то придумал следующее:

asl_object_t msg = asl_new(ASL_TYPE_MSG);
asl_set(msg, ASL_KEY_READ_UID, "-1");
asl_log(NULL, msg, ASL_LEVEL_EMERG, "Hello from asl_log");

Это заставит журналы появляться в результатах запроса asl.

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