Tomcat JULI 应用日志隔离原理解析

最近协助项目组部署 Tomcat 时遇到一种情况:同一 Tomcat 下多 war 包部署时,有一个简单的应用无法启动,所有日志渠道中都没有关于它异常信息,catalina 日志中只轻描淡写地说它部署失败了。在该应用的类路径下放置一个 logging.properties 文件后,看到了完整异常,最终改正配置、重启得以成功部署。

笔者因此对 Tomcat 日志框架产生了几个疑问:

  1. 为什么 catalina 日志文件中没有具体应用的异常信息
  2. 如何让应用启动异常信息输出
  3. 应用类路径下的 logging.properties 和 Tomcat 的 conf 目录下的该文件的关系如何
  4. Tomcat 是如何做到应用日志隔离的

本场 Chat 将以笔者弄清楚上述疑惑的过程为背景,详细介绍 Tomcat 对 java.util.logging 的日志框架“偷梁换柱”的底层支撑:

  1. java.util.logging 原始包中的 LogManager
  2. Tomcat 的 JULI 是什么
  3. Tomcat 的 ClassloaderLogManager 是如何加载日志配置的
  4. ClassloaderLogManager 替换 LogManager 的巧妙过程
  5. 官方日志配置的几点建议
  6. 启示录:-D , Java 中让人叹为观止的一种发明

阅读全文: http://gitbook.cn/gitchat/activity/5cdc9882f3f5110cf3822c3f

您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。

FtooAtPSkEJwnW-9xkCLqSTRpBKX

Tomcat8下使用Log4j接管生成日志文件,按天存放,日志转换成json格式 亲测可用,日志格式如下: {"time":"2017-09-06 10:24:48,356","logtype":"INFO","loginfo":"org.apache.catalina.startup.HostConfig:Deploying web application directory C:\Users\admin\Desktop\Tomcat8\webapps\docs"} {"time":"2017-09-06 10:24:48,375","logtype":"INFO","loginfo":"org.apache.catalina.startup.HostConfig:Deployment of web application directory C:\Users\admin\Desktop\Tomcat8\webapps\docs has finished in 19 ms"} {"time":"2017-09-06 10:24:48,376","logtype":"INFO","loginfo":"org.apache.catalina.startup.HostConfig:Deploying web application directory C:\Users\admin\Desktop\Tomcat8\webapps\examples"} {"time":"2017-09-06 10:24:48,648","logtype":"INFO","loginfo":"org.apache.catalina.core.ContainerBase.[Catalina].[bms-res.hzfh.com].[/examples]:ContextListener: contextInitialized()"} {"time":"2017-09-06 10:24:48,649","logtype":"INFO","loginfo":"org.apache.catalina.core.ContainerBase.[Catalina].[bms-res.hzfh.com].[/examples]:SessionListener: contextInitialized()"} {"time":"2017-09-06 10:24:48,654","logtype":"INFO","loginfo":"org.apache.catalina.startup.HostConfig:Deployment of web application directory C:\Users\admin\Desktop\Tomcat8\webapps\examples has finished in 279 ms"} {"time":"2017-09-06 10:24:48,654","logtype":"INFO","loginfo":"org.apache.catalina.startup.HostConfig:Deploying web application directory C:\Users\admin\Desktop\Tomcat8\webapps\host-manager"} {"time":"2017-09-06 10:24:48,682","logtype":"INFO","loginfo":"org.apache.catalina.startup.HostConfig:Deployment of web application directory C:\Users\admin\Desktop\Tomcat8\webapps\host-manager has finished in 28 ms"} {"time":"2017-09-06 10:24:48,682","logtype":"INFO","loginfo":"org.apache.catalina.startup.HostConfig:Deploying web application directory C:\Users\admin\Desktop\Tomcat8\webapps\manager"} {"time":"2017-09-06 10:24:48,711","logtype":"INFO","loginfo":"org.apache.catalina.startup.HostConfig:Deployment of web application directory C:\Users\admin\Desktop\Tomcat8\webapps\manager has finished in 29 ms"} {"time":"2017-09-06 10:24:48,744","logtype":"INFO","loginfo":"org.apache.coyote.http11.Http11AprProtocol:Starting ProtocolHandler ["http-apr-80"]"} {"time":"2017-09-06 10:24:48,759","logtype":"INFO","loginfo":"org.apache.coyote.ajp.AjpAprProtocol:Starting ProtocolHandler ["ajp-apr-8009"]"} {"time":"2017-09-06 10:24:48,760","logtype":"INFO","loginfo":"org.apache.catalina.startup.Catalina:Server startup in 20357 ms"}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值