Spring Журналы доступа к загрузке tomcat

Я включил журналы доступа tomcat согласно справочной документации по загрузке spring. Но он не работает должным образом. Когда я включил его, файл журнала доступа был создан, и я вижу, что там регистрируются запросы на этот день. Но в начале следующего дня я не вижу никакого нового файла. Он начал регистрироваться в 21 час. На третий день он начал регистрироваться с 02 часов. С 4-го дня не создаются журналы доступа.

Вот те свойства, которые я использовал.

server.tomcat.access-log-enabled=true
server.tomcat.access-log-pattern=%h %l %u %t "%r" %s %b %D
server.tomcat.basedir=/var/lib/org_name/tracking_server 

в файлах отслеживания папки отслеживания и рабочей папки.

Пожалуйста, дайте мне знать, если я что-то упустил. Обычный журнал работает отлично в соответствии с конфигурацией, указанной в logback.xml

Спасибо за вашу помощь заранее.

Ответы

Ответ 1

Эта конфигурация работает для меня в spring загрузочной версии 1.2.3.RELEASE. Однако, если у вас есть текущая версия загрузки spring, эти параметры немного различаются, ссылка здесь:

server.tomcat.accesslog.directory=logs # Directory in which log files are created. Can be relative to the tomcat base dir or absolute.
server.tomcat.accesslog.enabled=false # Enable access log.
server.tomcat.accesslog.pattern=common # Format pattern for access logs.

Как вы заметили, разница - это дефис (-).

Кроме того, в конфигурацию журнала доступа tomcat входят следующие параметры, в соответствии с этот документ:

  • fileDateFormat. Значение по умолчанию - yyyy-MM-dd. Это означает, что файл журнала будет меняться ежедневно. Если вы измените значение для yyyy-MM-dd.HH, журнал будет изменяться почасово.
  • вращающийся. Значение по умолчанию - true. Если вы установите значение false, я понял, что у него будет только файл. он не использует параметр fileDateFormat.

Однако в моей версии spring boot (1.2.3.RELEASE) класса org.springframework.boot.autoconfigure.web.ServerProperties нет значений для изменения этих свойств (подкласс Tomcat). Но если вы проверите org.apache.catalina.valves.AccessLogValve, вы можете изменить эти свойства:

/**
 * Should we rotate our log file? Default is true (like old behavior)
 */
protected boolean rotatable = true;

/**
 * Date format to place in log file name.
 */
protected String fileDateFormat = ".yyyy-MM-dd";

Я знаю, может быть, вам стоит поиграть с этими параметрами. Я надеюсь, что этот пост поможет решить вашу проблему.