Время работы системы Apple в миллисекундах?

NSLog () использует временные метки с миллисекундным разрешением, но является тупым инструментом, потому что все его сообщения журнала находятся на уровне предупреждения.

Apple System Log – это гораздо более мелкозернистая система с 8 уровнями. НО … его отметки времени имеют только 1-секундное разрешение. Я читал man-страницу о форматах времени, но все они кажутся только второму.

Очевидно, что эта информация доступна, по крайней мере, NSLog. Много может продолжаться через секунду; есть ли способ получить лучшее разрешение с ASL?

Вы можете добавить ".#" В формат времени в ASL (и syslog), чтобы указать точность. Таким образом, "utc.3" будет форматироваться в формате UTC с миллисекундами. Вы можете добавить это к аргументам msg_fmt или time_fmt .

Точность формата времени отображается только в syslogd (1) . Я не уверен, почему это не сделало это так (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 

Указание в аргументе 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"); 

и выход:

 2016-02-01T14:16:39.562030-05 Info - Hello 

(Я бы предостерег, что приведенные выше фрагменты кода предназначены только для того, чтобы продемонстрировать указание точности формата времени в ASL. Фактическое использование, скорее всего, будет включать dispatch_once для настройки, используйте очередную диспетчерскую очередь для ведения журнала.)

  • Функция, которая принимает последовательность типа
  • Отправить команду для запуска приложения на устройстве iOS с помощью инструмента командной строки
  • Создание настольного приложения для Mac, Windows или iOS с использованием C # или VB в Visual Studio
  • Модификатор шейдера SceneKit для точек ввода геометрии работает в iOS, но не в OS X
  • Служба Apple CI / Xcode и Дженкинс
  • Скомпилируйте NSLog с unsigned int и unsigned long на iOS и OSX без предупреждения
  • Справочные пути XCode Framework и сборка выходных каталогов
  • viewDidload viewController, вызванный до метода appDelegate
  • Атомное чтение / запись значения int без дополнительной операции по самому значению int
  • Сбой запуска launchd_sim: невозможно создать временную папку состояний
  • Как вы сохраняете уникальность виртуального MIDI-источника из MIDISourceCreate ()?
  • Interesting Posts

    Показать или скрыть UIBarButtonItem в UIToolbar программно

    Установите рамку контроллера навигации, добавленную в качестве контроллера детского представления.

    Facebook SDK 3.1 – com.facebook.sdk Ошибка 5 при аутентификации с помощью

    Динамически генерировать ключ дешифрования, а не жестко кодировать строковый литерал? (Objective-C / iPhone)

    Как указать startTime для анимации с помощью CFTimeInterval?

    Правильная структура для сохранения даты и стоимости

    Добавление дополнений к UIView с использованием ограничений AutoLayout

    Досягаемость, работающая на симуляторе, но не на устройстве

    FMDB: значения NULL считываются как пустые строки

    Добавление представлений в представление MPMoviePlayerController после касания полноэкранной кнопки в стиле управления MPMovieControlStyleEmbedded

    UICollectionView отображает 3 элемента в строке

    Как сделать плавающий вид?

    Xcode не перешагнет сбой

    UIWebView Expose Objective C для JavaScript

    IOS, конвертировать из Obj-c в swift

    Давайте будем гением компьютера.