最近协助项目组部署 Tomcat 时遇到一种情况:同一 Tomcat 下多 war 包部署时,有一个简单的应用无法启动,所有日志渠道中都没有关于它异常信息,catalina 日志中只轻描淡写地说它部署失败了。在该应用的类路径下放置一个 logging.properties 文件后,看到了完整异常,最终改正配置、重启得以成功部署。
笔者因此对 Tomcat 日志框架产生了几个疑问:
- 为什么 catalina 日志文件中没有具体应用的异常信息
- 如何让应用启动异常信息输出
- 应用类路径下的 logging.properties 和 Tomcat 的 conf 目录下的该文件的关系如何
- Tomcat 是如何做到应用日志隔离的
本场 Chat 将以笔者弄清楚上述疑惑的过程为背景,详细介绍 Tomcat 对 java.util.logging 的日志框架“偷梁换柱”的底层支撑:
- java.util.logging 原始包中的 LogManager
- Tomcat 的 JULI 是什么
- Tomcat 的 ClassloaderLogManager 是如何加载日志配置的
- ClassloaderLogManager 替换 LogManager 的巧妙过程
- 官方日志配置的几点建议
- 启示录:-D , Java 中让人叹为观止的一种发明
阅读全文: http://gitbook.cn/gitchat/activity/5cdc9882f3f5110cf3822c3f
您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。