在我的Tomcat服务器上,我已将RequestDumperFilter添加到web.xml和我的logging.properties文件中。除了今天早上我注意到的事情外,一切都正常。
由于各种原因,我的Web应用程序将每5秒调用一次后端。因此,如果我在此5秒呼叫的同时点击一个新页面,日志将在文件输出中一起被粉碎。我以为Java会等到文件完成后才会再次写入它。
有没有办法保证日志按顺序发送到文件而不是一起粉碎?
这是RequestDumperFilter:RequestDumperFilter Github的链接
我添加的web.xml条目:
<filter>
<filter-name>requestdumper</filter-name>
<filter-class>
org.apache.catalina.filters.RequestDumperFilter
</filter-class>
</filter>
我的logging.properties:
...
handlers = ... 1request-dumper.org.apache.juli.FileHandler
...
1request-dumper.org.apache.juli.FileHandler.level = INFO
1request-dumper.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1request-dumper.org.apache.juli.FileHandler.prefix = request-dumper.
1request-dumper.org.apache.juli.FileHandler.formatter = org.apache.juli.VerbatimFormatter
org.apache.catalina.filters.RequestDumperFilter.level = INFO
org.apache.catalina.filters.RequestDumperFilter.handlers = 1request-dumper.org.apache.juli.FileHandler
如果您的意思是,请求转储器可能不一定在多页呼叫/线程场景中直接记录请求和响应,这是设计的。您有一个处理线程ID来区分请求,它们在请求之后由------------------
分隔,并且在打印响应之前相同。最后加上一些================
线。