一、 Tomcat 开发中日志记录工具的使用。

  使用Log4j记录应用开发过程中的问题,Log4j有三个主要组件:Logger、Appender、和layout。

  1.1组件说明

  1)Logger 的名称是区分大小写的,依据名称可以确定其层次结构(即父子关系),规则如下:

  ①如果Logger A的名称后跟一个点 “.”,改点又是Logger B 的名称的前缀,就认为Logger A是Logger B 的祖先;

  示例 如果存在记录器A.B.C、记录器A.B、记录器A,那么A就是A.B和A.B.C的祖先,同样A.B是A.B.C的父,而A.B.C是A.B的孩子。

  ②如果Logger A和Logger B之间,Logger B没有任何其他的祖先,就认为Logger A是Logger B 的父亲;

  在Logger的层次结构的最顶层是根记录器(root logger),它永远是存在的,而且不能通过名字访问,它有两个特点:总是存在的且能够被重新找回,可以通过访问类的静态方法Logger.getRootLogger()重新找到。其他记录器可以通过访问静态方法Logger.getLogger()被实例化或被得到,方法是将希望获得的记录器名称作为参数。记录器被赋予级别,有一套级别表标准,在org.apache.log4j.Level定义的。可以通过继承Level类定义自己的级别标准,但不鼓励这样做。

  如果给定的记录器没有被赋予级别,则会从离最近的拥有级别的祖先处继承得到。如果祖先也没有被赋予级别,那么就从根记录器获得。所以通常情况下,为了让所有的记录器最终都能够被赋予级别,根记录器被预先设定级别。比如在操作properties文件中,会写这么一句:log4j.rootLogger= DEBUG,A1,实际就指定了根记录器及其级别。

  2)Appender 在Log4j中,Appender指的是日志记录的输出目的地,当前支持的Appender(目的地),有文件file,控制台console、java.io.OutputStream、java.io.Writer、远程服务器,远程Unix syslog守护者,远程JMS监听者,NT EventLog或者发送e-mail。如果没有合适的Appender,那么就需要考虑自定义Appender了。每一个有效的发送到特定记录器的记录请求都被转送到那个与当前记录器所绑定的Appender上,换句话说,Appender的继承层次是附加在记录器继承层次上的。例如如果一个console Appender被绑定到根记录器上,那么所有的记录请求都可以至少被发送到console。另外,把一个file appender绑定到记录器C,那么针对记录器C(或者C的子孙)的请求记录都可以至少发送到console appender 和file appender。当然这种默认的记录方式可以更改,通过设定记录器的additivity标记(Logger.setAdditivity)为false,从而可以使appender不再具有可加性(Additivity)。但是,如果记录器C的祖先叫做P,且它的additivity标记被设定为false,那么记录信息任然被发送到记录器C机器祖先但只到达记录器P这一层次,包括P在能的记录器的所有appender,但不包括P祖先的。通常,记录器的additivity标记被设置为true。

  3)Layout(布局器)patternLayout是Log4j标准的布局器,可以让开发者依照conversion pattern去定义输出格式。Log4j还包括其他的Layout,包括HTMLayout,simpleLayout,XmlLayout,和DateLayout。如果这些不满足,可以自定义Layout。

  1.2Log4j的配置

  配置方式有三种:

  ①通过程序配置;

  通过程序配置Log4j环境实际上就是在应用程序代码中改变Logger的Level或增加减少Appender等等。

  ②通过Property文件配置;

  

通过XML文件配置。

  通过XML配置,XML文件格式的定义是通过org/apache/log4j/xml/log4j.dtd,需要了解详细的需要查阅log4j.dtd

  

  

转载于:https://www.cnblogs.com/lizhichao/p/5768396.html

Tomcat 学习过程4相关推荐

  1. Tomcat学习过程

    一. Tomcat的部署描述符web.xml.这是Java web核心配置文件,它控制着整个工程文件的行为方式,它是通过命令参数来配置的.这些参数在服务启动时加载.如下是一个实例web.xml < ...

  2. eclipse java web乱码_JAVA and JAVA WEB with TOMCAT and ECLIPSE 学习过程中遇到的字符乱码问题及解决方法汇总(随时补充)...

    JAVA语言具有跨平台,unicode字符集编码的特点. 但是在开发过程中处理数据时涉及到的字符编码问题零零散散,尤其是处理中文字符时一不留神就可能出现一堆奇奇怪怪的符号,俗称乱码. 对于乱码,究其原 ...

  3. 使用Apache cxf 和Spring在Tomcat下发布Webservice指南

    转载 http://blog.csdn.net/zhangzhaokun/article/details/4750021 最近学习了如何使用apache cxf和Spring发布webservice, ...

  4. 循序渐进看Java web日志跟踪(1)-Tomcat 日志追踪与配置

    日志,是软件运行过程中,对各类操作中重要信息的记录. 日志跟踪,不管对于怎么样的项目来说,都是非常重要的一部分,它关系到项目后期的维护和排错,起着举足轻重的作用.项目开发过程中,对日志的记录规则,也将 ...

  5. tomcat php模块化运行,Windows下 Tomcat 运行 PHP 的配置

    前言: 由于本人在开发和学习过程中需要同时部署 JavaWeb 和 PHP 项目,于是整理了网上的一些相关资料,并结合自己的实际操作,记录于此,以供参考. 一.环境(64bit): 1.操作系统.To ...

  6. java future用法_纯干货:Java学习过程中的21个知识点和技术点

    我们在Java学习过程中要学会抓重点,善于总结,Java学习过程中常见的21个知识点和技术点你知道吗?下面和千锋广州小编一起来看看吧! 1. JVM相关 对于刚刚接触Java的人来说,JVM相关的知识 ...

  7. Linux环境下Tomcat部署Solr4.x

    Linux环境下Tomcat部署Solr 最近接手了公司搜索相关的业务,由于其使用的是Solr,故趁着周末自己鼓捣下; 由于业务上使用的是Solr4.2.0版本,因此在学习时,使用相对较老的版本Sol ...

  8. linux tomcat 进程杀掉_Linux下tomcat的配置踩坑

    前言 在配置微信公众号开发的过程,可以参照我的上一篇文章(后来使用Java开发的我表示很鸡肋,虽然配置好了,但是不知道接下来该怎么继续).然后就想起了Windows下Java学习过程中使用过的tomc ...

  9. 使用Eclipse Memory Analyzer分析Tomcat内存溢出

    本文语言逻辑转载:http://tivan.iteye.com/blog/1487855 实际分析来源于自己的实际项目. 在平时开发.测试过程中.甚至是生产环境中,有时会遇到OutOfMemoryEr ...

最新文章

  1. 最新发布| Jira官宣中国区本地部署特殊政策,公布Data Center价格
  2. VC6工程升级VS2013遇到的问题
  3. Linux查看ip的命令详解
  4. python语言培训班-Python语言培训(零基础初级班)
  5. 【跃迁之路】【678天】程序员高效学习方法论探索系列(实验阶段435-2018.12.23)...
  6. 《Ceph源码分析》——第1章,第一节Ceph的发展历程
  7. Mybatis sql注入问题
  8. 工作总结9:vue处理token
  9. android 行布局选择器,『自定义View实战』—— 银行种类选择器
  10. Android Studio 导入 AOSP 源码
  11. ubuntu安装经常使用记录
  12. 基于天地图标点html教程,天地图WEB API入门指导
  13. 精通javascript 代码总结
  14. 强制更改wifi名前缀CMCC
  15. c语言课程设计报告万年历,c语言课程设计报告-万年历系统.doc
  16. ssm项目从零到精通的超全解析(含项目源码)
  17. 马云:眼光有多远 未来就有多远【2014世界互联网大会】
  18. 基于云计算的毕业设计题目
  19. 在 V2EX 的开发环境里尝试了一下 OneAPM @livid
  20. “快充”还是感觉慢,到底是什么原因?

热门文章

  1. Debian 2.6.15 内核 安装bootsplash
  2. ArcMap 导入 wrl_ai文件导入c4d没反应怎么办? c4d导入ai源文件失败的原因分析_Illustrator教程_平面设计...
  3. Linux下数据库mariaDB的管理
  4. 2020 AI、CV、NLP顶会最全时间列表
  5. pycharm 配置设置远程调试【远程解释器】
  6. 今日恐慌与贪婪指数为73 贪婪程度有所上升
  7. SAP License:FI-CO集成
  8. SAP License:年度结算的步骤
  9. 把一个 ASP.NET 程序转换为了 Web Services
  10. 你可能还不知道的关于JavaScript类型的细节?