2013-01-07 8 views
8

मैं जांच कर रहा हूं कि आईफोन/आईओएस (शायद ...) पर एनएसएलओजी की तुलना में मैं एस्लॉग से बेहतर प्रदर्शन कर सकता हूं, लेकिन मैं उस बिंदु पर फंस गया हूं जहां ऐसा नहीं लगता है कि एएसएल का लॉग आउटपुट सिस्टम में दिखाई देगा कंसोल (जैसा कि सिस्टम कंसोल, iConsole, आदि जैसे कई ऐप्स द्वारा देखा जा सकता है)। मुझे पता है कि मैं इसे ठीक से स्थापित कर रहा हूं क्योंकि मैं ASL_OPT_STDERR के साथ खुलता हूं, और जब डिवाइस टिथर किया जाता है तो मुझे एक्सकोड में लॉग प्रविष्टियां दिखाई देती हैं।आईओएस सिस्टम कंसोल आउटपुट में प्रकट होने के लिए asl_log कैसे प्राप्त करें?

मैं ऑनलाइन रोचक सामग्री के बहुत सारे का पता लगाया है (उदाहरण के लिए http://boredzo.org/blog/archives/2008-01-20/asl-logging, https://github.com/robbiehanson/CocoaLumberjack) और सर्वश्रेष्ठ आशा "com.apple.console" की सुविधा के साथ asl_open जा करने के लिए() लग रहा था, लेकिन अफसोस, उत्पादन अभी भी दिखाई नहीं देता कंसोल में क्या एनएसएलओजी एकमात्र विकल्प है?

उत्तर

5

आपको या तो ReadUID या ReadGID का उपयोग करके संदेश पर पढ़ने के विशेषाधिकार सेट करने की आवश्यकता है। या तो -1 को सेट करने से किसी भी उपयोगकर्ता/समूह को हेडर फ़ाइल प्रलेखन के अनुसार संदेश देखने की अनुमति मिल जाएगी।

aslmsg msg = asl_new(ASL_TYPE_MSG); 
asl_set(msg, ASL_KEY_READ_UID, "-1"); 
asl_log(NULL, msg, ASL_LEVEL_NOTICE, "Hello, world!"); 
asl_free(msg); 
9

STDERR एएसएल में जोड़े और फिर इसे कंसोल में दिखाई देता है

asl_add_log_file(NULL, STDERR_FILENO); 
संबंधित मुद्दे

 संबंधित मुद्दे