Журнал Tomcat HTTP Access имеет задержку записи в файл

В журнале доступа к http tomcat требуется некоторое время для записи в файл. Обратите внимание, что у меня есть конфигурации по умолчанию для org.apache.catalina.valves.AccessLogValve. Есть ли способ улучшить задержку? И каковы основные причины этой задержки


person poohdedoo    schedule 29.06.2015    source источник


Ответы (2)


Я нашел ответ для этого. Вы можете улучшить задержку, отключив буферизацию. Флаг «buffered» определяет, будет ли журналирование буферизоваться. Если установлено значение false, то журнал доступа будет записываться после каждого запроса. Значение по умолчанию: правда. Поэтому добавление BufferedLogs="false" уменьшит задержку записи в файл журнала. Другое свойство — backgroundProcessorDelay. Если не указано, значение по умолчанию для этого атрибута равно 10, что соответствует 10-секундной задержке. Таким образом, установив более низкое значение, вы можете улучшить задержку записи логов http-доступа в файл.

person poohdedoo    schedule 30.06.2015
comment
Можете ли вы добавить, где или как внести эти изменения, пожалуйста? - person AlainIb; 18.01.2016
comment
@AlainIb backgroundProcessorDelay="1" (tomcat.apache.org/tomcat-8.0-doc/ config/engine.html), установленный в теге Host, или buffered="false", установленный в теге Valve, оба в conf/server.xml. - person Fruit; 09.08.2018

основная причина заключается в том, что tomcat буферизировал сообщение журнала. мы можем отключить буфер, изменив поведение регистратора по умолчанию. мы можем найти в $TOMCAT_HOME/conf/server.xml
версия tomcat: tomcat-7.0.61

 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" buffered="false"  pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." suffix=".txt"/>

установив для атрибута buffered значение false , мы можем немедленно получить информацию о доступе. документ AccessLogValve

person kevin    schedule 16.07.2016