在Cocoanetics博客This entry有樣本代碼來訪問使用ASL的iOS系統日誌(蘋果系統記錄器)API(man page):
aslmsg q, m;
int i;
const char *key, *val;
q = asl_new(ASL_TYPE_QUERY);
aslresponse r = asl_search(NULL, q);
while (NULL != (m = aslresponse_next(r)))
{
NSMutableDictionary *tmpDict = [NSMutableDictionary dictionary];
for (i = 0; (NULL != (key = asl_key(m, i))); i++)
{
NSString *keyString = [NSString stringWithUTF8String:(char *)key];
val = asl_get(m, key);
NSString *string = [NSString stringWithUTF8String:val];
[tmpDict setObject:string forKey:keyString];
}
NSLog(@"%@", tmpDict);
}
aslresponse_free(r);
請注意,您需要輪詢ASL閱讀最新消息。上面的代碼在iPhone模擬器上運行時也會失敗,但在實際設備上運行得很好。
如果您不想與C ASL API對抗,請查看名爲ASLogger的此Objective-C包裝。
讀http://boredzo.org/blog/archives/2008-01-19/next-week-apple-system - 它會給你一個關於整個ASL的好主意。 – Jano 2011-05-26 22:15:55
+1謝謝!我會詳細閱讀。 – 2011-05-27 00:55:58