2015-04-16 26 views
2

我想使用asl來管理iOS中的日誌。但是我遇到了一些問題。 在我的節目我用asl_log()寫的日誌是這樣的:ASL:asl_search()無法獲取日誌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()寫的消息?或者如何正確地做到這一點?

回答

3

在設備上,我無法讓iOS應用程序讀取其自己的ASL日誌條目,而無需將ASL_KEY_READ_UID明確設置爲「-1」。

Mac上(因此在iOS模擬器中)的行爲是不同的;在那裏,默認情況下,進程可以讀取其他進程創建的日誌條目。

欲瞭解更多信息,CleanroomASL開源項目有a summary of differences between ASL behavior on iOS devices versus the Mac

CleanroomASL提供了一個Swift API,用於讀取編寫Apple系統日誌的&。