2

在 tomcat http 访问日志阀需要一些时间来写入文件。请注意,我有 org.apache.catalina.valves.AccessLogValve 的默认配置。有什么办法可以改善延迟吗?造成这种延迟的主要原因是什么

4

2 回答 2

4

我找到了答案。您可以通过禁用缓冲来改善延迟。标志“缓冲”确定日志记录是否将被缓冲。如果设置为 false,则每次请求后都会写入访问日志。默认值:真。因此,添加 BufferedLogs="false" 会减少写入日志文件的延迟。另一个属性是 backgroundProcessorDelay。如果未指定,则此属性的默认值为 10,表示延迟 10 秒。因此,通过将其设置为较低的值,您可以改善将 http-access 日志写入文件的延迟。

于 2015-06-30T01:17:38.910 回答
1

主要原因是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 文档

于 2016-07-16T10:21:47.417 回答