आप परिशुद्धता निर्दिष्ट करने के लिए एएसएल (और syslog) में समय प्रारूप में ".#"
जोड़ सकते हैं। इस प्रकार "utc.3"
यूसीटी प्रारूप में मिलीसेकंड के साथ प्रारूपित होगा। आप इसे msg_fmt
या time_fmt
तर्क दोनों में जोड़ सकते हैं।
समय प्रारूप परिशुद्धता केवल syslogd(1) में प्रलेखित होने लगती है। मुझे यकीन नहीं है कि यह asl(3) पर क्यों नहीं आया।
उदाहरण के लिए
, time_fmt
में asl_add_output_file
और निर्दिष्ट का उपयोग करते हुए इस प्रकार दिखाई देंगे:
// setup, do once!
aslclient log = asl_open(NULL, NULL, 0);
asl_add_output_file(log, STDERR_FILENO,
"$Time $((Level)(str)) - $Message", // $Time here uses time_fmt arg on next line
ASL_TIME_FMT_UTC ".3", // time_fmt: append ".3" for milliseconds here
ASL_FILTER_MASK_UPTO(ASL_LEVEL_DEBUG), ASL_ENCODE_SAFE);
// example log
asl_log(log, NULL, ASL_LEVEL_INFO, "Hello");
// Note in the above ASL_TIME_FMT_UTC is #defined to "utc", so the we're
// using compile-time string concatenation of "utc" ".3" to "utc.3".
// Alternately you can just specify "utc.3" directly.
और आउटपुट:
:
2016-02-01 19:16:39.561Z Info - Hello
asl_add_output_file
की msg_fmt
तर्क में निर्दिष्ट इस प्रकार दिखाई देंगे
// setup, do once!
aslclient log = asl_open(NULL, NULL, 0);
asl_add_output_file(log, STDERR_FILENO,
// in msg_fmt below, use ISO8601 + ".6" for microseconds
"$((Time)(ISO8601.6)) $((Level)(str)) - $Message",
ASL_TIME_FMT_UTC,
ASL_FILTER_MASK_UPTO(ASL_LEVEL_DEBUG), ASL_ENCODE_SAFE);
// example log
asl_log(log, NULL, ASL_LEVEL_INFO, "Hello");
एक घ उत्पादन:
2016-02-01T14:16:39.562030-05 Info - Hello
(मैं सावधानी होता है कि कोड के ऊपर स्निपेट का उपयोग केवल एएसएल में समय प्रारूप परिशुद्धता को निर्दिष्ट प्रदर्शित करने के लिए होती हैं। वास्तविक उपयोग में dispatch_once
सेटअप के लिए संभवतः लॉगिंग के लिए एक सीरियल प्रेषण कतार का उपयोग करना चाहिए।)
'Console.app' में 'देखें'> 'मिलीसेकंड' चुनें। –
यह बढ़िया है, कभी नहीं देखा। हालांकि, यह एक्सकोड कंसोल लॉग को प्रभावित नहीं करता है। यह एक नया सवाल उठाता है: जहां सभी लॉग फाइलों में सिम्युलेटर या आईओएस डिवाइस पर चल रहे आईओएस डिवाइस के लिए एक्सकोड के लॉग हैं? –
मेरा मानना है कि इसका स्थान '~/लाइब्रेरी/लॉग/आईओएस सिम्युलेटर/ /' –