Вы можете добавить ".#"
в формат времени в ASL (и syslog), чтобы указать точность. Таким образом, "utc.3"
будет форматироваться в формате UTC с миллисекундами. Вы можете добавить это как к аргументам , так и к time_fmt
.
Точность в формате времени, по-видимому, задокументирована только в syslogd(1). Я не уверен, почему он не дошел до asl(3).
Например, с помощью asl_add_output_file
и уточнением в time_fmt
может выглядеть следующим образом:
// 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
Указание в msg_fmt
аргумента asl_add_output_file
может выглядеть следующим образом:
// 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");
a d выход:
2016-02-01T14:16:39.562030-05 Info - Hello
(я хотел бы предостеречь, что приведенные выше фрагменты кода предназначены только для демонстрации задания формата отображения времени точности в ASL. Фактическое использование, скорее всего, должно включать dispatch_once
для настройки, используйте очередную диспетчерскую очередь для ведения журнала.)
В 'Console.app' выберите' View'> 'Milliseconds'. –
Отлично, никогда не видел. Однако это не влияет на журнал консоли Xcode. Возникает новый вопрос: где во всех файлах журнала есть журналы Xcode для устройств iOS, работающих в симуляторе или на устройстве iOS? –
Я считаю, что это место '~/Library/Logs/iOS Simulator/ /' –