Есть ли способ отформатировать метку времени от 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 — использовать «Пользовательскую логварную переменную» , но у меня нет критериев в отношении накладных расходов.

Другие вопросы по тегам