log-hires-timestamp

Global

Писать ли в журнале миллисекунды
в конфигурации это строкаlog-hires-timestamp falseвнутри блока Global
Когда порядок событий важнее их времени

Строка добавляет к отметке времени миллисекунды: вместо 2026-08-28 15:54:31 в журнале появляется 2026-08-28 15:54:31.593. Умолчание — false.

Смысл не в точности, а в порядке. В пределах одной секунды обычная отметка не различает события, и при разборе гонки — кто успел раньше, соединение или перезагрузка конфигурации — журнал перестаёт отвечать на вопрос.

Цена — несколько байтов на строку и чуть более шумный вид журнала при чтении глазами.

Учёта строка не касается — там формат отметок задаётся отдельно, через iso-times в блоке <acct-file>.

Главная ловушка — включить в надежде на синхронизацию с чужими журналами. Миллисекунды не делают часы узла точнее: сверять записи с журналом приёмника или соседнего сервиса всё равно нельзя без настроенной синхронизации времени.
Что делает Хаб. Не пишет — остаётся умолчание.

Строка пригодилась бы при разборе редкого класса неисправностей: когда надо понять порядок событий внутри секунды — например, успело ли применение конфигурации закрыть соединение до того, как его занял приёмник.

Рекомендуемые значения

Включают под конкретный разбор:

Значение Когда
false (умолчание) всегда
true разбираем порядок событий внутри секунды
Умолчание false и вид отметки с миллисекундами — из руководства (§ 3.3.1.59.5). Замечание про порядок против точности — наше.
Пример в конфигурации
# разбираем гонку: кто успел раньше внутри одной секунды
log-file /var/log/pmta/log
log-hires-timestamp true
На синхронизацию с чужими журналами это не влияет: для неё нужны верно идущие часы, а не более дробная отметка.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

Типичные ошибки и проблемы

что делают не так и чем это кончается1 ошибка▶

Ждут от миллисекунд сверки с чужими журналами

наш опыт

Чем чреватоДробность отметки не улучшает согласованность часов. Сверять записи разных машин без настроенной синхронизации времени по-прежнему нельзя.
Как заметитьЗаписи узла и приёмника расходятся на секунды при включённых миллисекундах.
Как правильноНастроить синхронизацию времени; миллисекунды нужны для порядка событий внутри одного узла.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
log-hires-timestamp <boolean>
Значения
yes | no | true | false
Умолчание
false § 3.3.1.59.5
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
Global
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Наследования нет: строка пишется в корне файла, раздел Global, и касается журналов узла. Отметки времени в учёте настраиваются отдельно — iso-times.
Как проверить на узле
Вид отметки виден в любой строке журнала:
tail -2 /var/log/pmta/log
Три цифры после точки означают, что строка включена. Иначе отметка кончается секундами.
В Хабе
Цена ошибки
безопасно: неверное значение ничего не ломает
Сценарии
Разобрать зависшую очередь