Tomcat 日志机制.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Tomcat 日志机制

Tomcat ⽇志机制 ⽇志机制 简介 Tomcat 的内部⽇志使⽤ JULI 组件,这是⼀个 Apache Commons ⽇志的重命名的打包 分⽀,默认被硬编码,使⽤ java.util.logging 架构。这能 证 Tomcat 内部⽇志 与 Web 应⽤的⽇志 持独⽴,即使 Web 应⽤使⽤的是 Apache Commons Logging 。 假如想⽤另外的⽇志框架来替换 Tomcat 的内部⽇志系统,那么就必须采⽤⼀种能够 持完整的 Commons ⽇志机制的 JULI 实现,⽤它来替换通过硬编码使⽤ java.util.logging 的 JULI 实现。通常这种替代实现都是以额外组件的形式出现 的。利⽤ Log4j 框架⽤于 Tomcat 内部⽇志的配置如下⽂所⽰。 在 Apache Tomcat 上运⾏的 Web 应⽤可以使⽤: 任何⾃选的⽇志框架。 系统⽇志 API ,java.util.logging。 Java Servlets 规范所提供的⽇志 API ,javax .servlet.ServletContext.log(...)。 各个应⽤可以使⽤不同的⽇志框架,详情参见类加载器。java.util.logging 则 是例外。如果⽇志库直接或间接地⽤到了这⼀ API ,那么 Web 应⽤就能共享使⽤它的 元素,因为该 API 是由系统类加载器所加载的。 Java ⽇志 API ——j ava.util.logging Apache Tomcat 本⾝已经实现了 java.util.logging API 的⼏个关键元素。这种实 现就是 JULI 。其中的关键组件是⼀个⾃定义的 LogManager 实现,它能分辨运⾏在 Tomcat 上的不同 Web 应⽤ (以及它们所⽤的不同的类加载器),还能针对每⼀应⽤ 进⾏私有的⽇志配置。另外,当 Web 应⽤没能从内存中加载时,Tomcat 会给予它相 应通知,从⽽清除相应的引⽤类,防⽌内存泄露。 在启动 Java 时,通过提供特定的系统属性,可以启⽤ java.util.logging 实现。 Apache Tomcat 启动脚本可以实现这个操作,但如果使⽤不同⼯具来运⾏ Tomcat (⽐ 如 j svc ,或者从某个 ID 中运⾏ Tomcat ),就必须⾃⼰来启⽤实现。 关于 java.util.logging 实现的详细情况可以查阅 JDK ⽂档,具体位于 java.util.logging 包的相关 j avadoc 页⾯中。 关于 Tomcat JULI 的详细介绍见下⽂。 Servlets logging API Tomcat 内部⽇志能够处理对 javax .servlet.ServletContext.log(...) 的调 ⽤,从⽽写⼊⽇志消息。这种消息都被记录到⼀种特定类别中,命名⽅式如下: org.apache.catalina.core.ContainerBase.[${engine}].[${host}]. [${context}] 这种⽇志是依照 Tomcat ⽇志配置⽽执⾏的,⽆法在 Web 应⽤中重写。 Servlets logging API 的问世要先于 Java 所提供的 java.util.logging API ,所以, 它⽆法提供太多的选项,⽐如⽆法⽤它来控制⽇志级别。然⽽需要注意的是,在 Tomcat 实现中, 对 ServletContext.log(String) 和 GenericServlet.log(String) 的调⽤都被记录在 INFO 级别。对 ServletContext.log(String, hrowable) 或 GenericServlet.log(String, hrowable) 的调⽤都被记录在 RROR 级别。 Console 在 UNIX 系统下运⾏ Tomcat 时,控制台输出经常会重定向到 catalina.out 的⽂件 中。通过⼀个环境变量,可以配置该⽂件 (参见启动脚本)。 写⼊ System.err/out 的任何内容都会被 catalina.out ⽂件所捕获。这些内容 可能包括: 由 java.lang. hreadGroup.uncaughtException(..) 所输出

文档评论(0)

ldj215323 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档