Как включить формат времени с точностью до миллисекунды в журнал доступа Apache

#java #apache #tomcat #access-log

#java #apache #tomcat #access-log

Вопрос:

Как включить формат времени с точностью до миллисекунды в журнал доступа Apache.

Я пытался использовать:

 pattern="%h %l %u %{%d/%b/%Y %T}t.%{msec_frac}t %{%z}t amp;quot;%ramp;quot; %s %b".
  

Однако это не работает.

Комментарии:

1. Я ответил, предполагая, что вы имеете в виду tomcat, из-за тега tomcat. Но ваш вопрос — vauge. Учитывая, что существуют Apache HTTPD и Apache Tomcat, вам, вероятно, следует уточнить язык, вопрос может относиться к любому из них.

Ответ №1:

Из AccessLogValve документации

%{xxx}t xxx — это улучшенный шаблон SimpleDateFormat

Итак, если вы используете шаблон чего-то подобного %{yyyy-MM-dd HH:mm:ss.SSS}t , тогда он должен печатать миллисекунды.

Комментарии:

1. Вероятно, на данный момент это спорный вопрос для большинства пользователей, но версии Tomcat до 7 не поддерживают этот синтаксис шаблона.

2. @Yeroc люди не всегда используют последние или последние версии, поэтому ваша точка зрения никогда не является спорной

Ответ №2:

Журналы доступа Apache принимают формат времени с форматом sfrtime из стандартной библиотеки C. Попробуйте что-то подобное:

 %{%Y-%m-%d %H:%M:%S.%f}t