Есть ли способ отформатировать метку времени от uwsgi
Это документы для лог-формата uwsgi.
http://uwsgi-docs.readthedocs.io/en/latest/LogFormat.html
У меня есть несколько неприемлемых вариантов для вывода отметки времени в сообщениях журнала. Есть ли способ отформатировать YYYY-MM-DD HH-MM-SS.DDDDDD, который просто не задокументирован?
2 ответа
Читая код на github, я обнаружил проблему, которая намекала на решение.
Вот командная строка, которую я использовал
uwsgi --log-date="%Y:%m:%d %H:%M:%S" --logformat-strftime --logformat="%(ftime) %(addr) (%(proto) %(status)) %(method) %(uri) : Retned %(size) bytes in %(msecs) msecs to %(uagent)" --http :9090 --wsgi-file foo.py
Я практически не мог придумать это, читая документы. Для этого требуются все 3 варианта (не уверен, что порядок имеет значение) и использование (%ftime), которое вообще НЕ упоминается на странице документации logformat, только в журнале изменений для одного из выпусков.
Не представляется возможным получить миллисекунды в строке журнала
Технически вы можете получить миллисекунды с помощью%(tmsecs)
(начиная с 1.9.21) в необработанном формате, но он не совсем удобочитаем и даже не разделяетmsec
часть с точкой:1637061200823
(последние 3 цифры).
Я предполагаю, что самый простой способ для приложения Python — использовать «Пользовательскую логварную переменную» , но у меня нет критериев в отношении накладных расходов.