在我的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
答案 0 :(得分:0)
如果您要说的是,在多页调用/线程处理方案中,请求转储程序不一定一定要先记录请求和响应,然后再进行记录。
您获得了一个处理线程ID来区分请求,它们在请求之后用------------------
隔开,在打印响应之前用================
隔开。最后加上一些RewriteEngine on
RewriteCond %{QUERY_STRING} ^option=login$
RewriteRule ^(.*) https://linuxsecurity.com/register [R=301,L,QSD]
行。