调试方法-一个报文的路由器之旅
6.4调试方法
以上三节是对常见问题的总结。在使用Tomcat进行应用开发的过程中,问题是难免的而且复杂多样,这些没有规律的错误就需要开发者和管理者有解决问题的方法。本节就是告诉你解决问题的手段。
6.4.1解读日志文件
Tomcat的日志文件都可以灵活配置,它们对于分析问题十分有帮助。在server.xml中的每一个元素都有debug属性,可以通过修改该属性的值来决定是否输出日志文件。如果为0则不输出日志文件,你可以设置大于0的任何数值,越大则输出越多的日志信息。有一些对象的日志级别可以到9甚至更高,但大部分的最大值为3。如果在使用Tomcat的过程中出现了问题,就可以设置日志级别为1到9之间,重启Tomcat来输出日志文件。在Tomcat的logs目录下通常包含几个基本的日志文件,标准输出stdout.log、错误输出stderr.log,还有一些access_log、error_log等代表各种对象信息的日志文件。在遇到问题时,只要打开了日志输出,在这些文件中都可以找到更多的问题所在。当然,日志输出的同时伴随着的是资源的占用,正常的情况下建议不打开那么多的日志输出。
你知道吗?你还可以通过一些特定的方法更有效地管理这些日志文件。你可以查看ELK加Redis收集Tomcat日志文件了解如何使用ELK和Redis来收集和管理Tomcat日志,或者通过Shell脚本切割Tomcat的日志文件来学习如何使用Shell脚本进行日志切割。如果你对Tomcat的日志管理有更多疑问,Tomcat日志问题这篇文章可能会给你更多启发。
6.4.2 URL与HTTP会话
该方法可以查看URL和HTTP会话信息。可以通过如下的命令与请求页面进行交互,查看必要的信息。
$telnet localhost 80
得到的信息示例如下:
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 2836
Date: Sat, 20 Oct 2001 15:33:00 GMT
Server: Apache Tomcat/4.0 (HTTP/1.1 Connector)
Last-Modified: Fri, 12 Oct 2001 22:36:50 GMT
ETag: \"2836-1002926210000\"。
需要更多关于HTTP会话的信息吗?你可以看看这篇文章跨站实现HTTP会话劫持,了解更多关于如何进行HTTP会话劫持的知识。如果你想深入了解如何管理HTTP会话,http请求保存session会话这篇文章也许对你有帮助。你甚至可以查看一些源码,如scs Go的HTTP会话管理源码和sessionup简单的HTTP会话管理源码来更好地理解这些概念。