2015-10-23 78 views
1

我想查詢通過ASL和NSLog封裝發送的日誌消息。在iOS 9設備上運行下面的代碼,我從ASL查詢中得到一個響應,這是通過NSLog發送的第一個日誌字符串。第二個字符串「來自asl_log的Hello」不會被查詢返回,即使它轉到默認的ASL客戶端。任何關於我可能在查詢或asl_log調用中做錯的建議?發送到ASL的日誌消息不會出現在查詢

// 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

您必須按照http://stackoverflow.com/a/16527364/361413將ASL_KEY_READ_UID設置爲「-1」。 – bk138

+0

您想將此作爲正式答案嗎? –

+1

太shoort ;-)「微不足道的答案轉換爲評論」 – bk138

回答

0

嘗試幾種方法來設置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查詢結果。