如何在 Tomcat 控制台日志中记录会话 ID



当tomcat中发生服务器(500(错误时,我们至少会得到2个日志条目:

  1. 一个在访问日志中
  2. 控制台日志中的一条或多条消息(和/或堆栈跟踪(

为了将控制台中的错误与访问错误相关联,我们希望使用访问日志中%S(服务器.xml(获得的User session ID

我们如何在控制台中获取会话 ID?

使用本文档中给出的示例配置激活请求转储程序筛选器。

正如您想在控制台日志中看到的那样(比专用日志更好的主意?(,您需要将处理程序更改为:

org.apache.catalina.filters.RequestDumperFilter.handlers = java.util.logging.ConsoleHandler

然后,您应该在catalina.out中看到类似的东西,同时给出了JSESSIONDID和状态代码(在您的例子中为500(:

06-Feb-2019 16:59:40.499 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1             header=Set-Cookie=JSESSIONID=E44588D6574AB1489540509E2A710934; Path=/manager; HttpOnly
..
06-Feb-2019 16:59:40.499 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1             status=200

你也可以看看这个答案。

最新更新