Java/Tomcat 独立,如何记录/访问所有 HTTP GET 请求

2022-09-01 03:10:42

我在独立模式下运行Tomcat。“独立”部分非常重要:我不打算在Tomcat前面安装Apache。

在我在这里的问题中,关于如何实现“网络臭虫”,我得到了一个很好的答案:Java webapp:如何实现一个网络臭虫(1x1像素)?

然而,答案是:

在您的访问日志中,您可以计算您的jpg - 输出应该是”

127.0.0.1 - [ 10/Jun/2010:11:38:53 +0530] “GET /mywebapp/jsp/invisible.jpg?1276150133362 HTTP/1.1” 200 991

但是,正如我所担心的那样,我找不到这样的日志。

... $ cat apache-tomcat-6.0.26/logs/* | grep GET | wc -l

0

有很多日志。我的 Web 应用的自定义日志肯定会被记录下来。

所以我有几个相关的问题:

  • 默认情况下,“Tomcat 独立”会记录每个 HTTP GET 请求吗?

  • 如果是,默认情况下,每个 HTTP GET 请求都记录在哪里?(我怎么能自己找到它们呢?

  • 如果不是,是否可以将“Tomcat 独立”配置为记录每个 HTTP GET 请求?

请注意,我知道在我的情况下,我可以添加自定义日志记录以及我的web bug.jsp并在日志中搜索它,但这不是我的问题。

我的问题实际上是关于Tomcat独立(再次,独立非常重要)如何处理所有HTTP GET请求的日志记录。


答案 1

默认情况下,它不会记录请求,但如果在 中取消注释此阀门,则会这样做:conf/server.xml

<Valve className="org.apache.catalina.valves.AccessLogValve"
    directory="logs" prefix="localhost_access_log." suffix=".txt"
    pattern="common" resolveHosts="false"/>

答案 2

推荐