Сообщения журнала, отправленные в 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.