tomcat - 如何在 Tomcat 控制台日志中记录 sessionId?
问题描述
当在 tomcat 中发生服务器(500)错误时,我们至少得到 2 个日志条目:
- 访问日志中的一项
- 控制台日志中的一条或多条消息(和/或堆栈跟踪)
为了将控制台中的错误与访问错误相关联,我们希望%S
在访问日志中使用我们通过 (server.xml) 获得的会话 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
你也可以看看这个答案。
推荐阅读
- informatica - 在 Informatica 中创建多个 PDF 文件的挑战
- javascript - Javascript点击事件 - 查找所有事件
- xcode - dyld:找不到符号:_UnityPluginLoad
- python - 在芝加哥犯罪数据中使用日期时间时的级别名称重复
- python-3.x - 如何使用 selenium 和 python 在网页下拉列表中选择一个选项
- java - java中的php openssl_pbkdf2等价物
- reporting-services - 当文件名来自存储过程列时,如何为外部图像设置表达式
- swift - 如何取消嵌入 TabBarController [Swift 5] 中的 ViewControllers
- javascript - 带音频的getDisplayMedia应用程序窗口?
- hadoop - Hive - 合并后不是有效的 ORC 文件