Точность в миллисекундах в syslogd на OS X
Когда я записываю сообщения в системный журнал в OS X (10.10.1), он усекает метку времени до второй. Например, если я регистрируюсь в файле, я могу записывать миллисекунды. Миллисекунды имеют значение, когда бревна идут быстро и яростно. Любая идея, если есть способ установить точность в миллисекундах в реализации OS X syslogd?
1 ответ
OS X's syslogd
сохраняет события журнала в базе данных / хранилище Apple System Log (asl) с точностью до микросекунды по умолчанию, с учетом точности до наносекунды.
Однако, когда эти данные копируются в традиционные плоские файлы журнала, такие как /var/log/system.log
используется традиционный формат отметки времени до второй, потому что это то, что эти плоские файлы журнала всегда использовали.
Вы можете использовать syslog
инструмент командной строки для запроса базы данных asl, и вы можете указать формат вывода с различными параметрами командной строки, включая -F
, Например, чтобы вывести все данные из базы данных asl в стандартном формате файла журнала, но с точностью до микросекунды, сделайте следующее:
syslog -F std.6
Обратите внимание, что если у вас есть процесс, который регистрирует так много сообщений в системном журнале так быстро, что имеют значение метки времени в секунду, вы можете также посмотреть на asl.conf(5)
Страница man, чтобы убедиться, что ваш mps_limit
а также dup_delay
параметры устанавливаются таким образом, что все ваши сообщения журнала фактически сохраняются в базе данных, а не сокращаются или выбрасываются.