log4j使用完全指南.docVIP

  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文档。上传文档
查看更多
log4j使用完全指南

Log4J是Apache的一个开放源代码项目( HYPERLINK /log4j/docs/ \t _blank /log4j/docs/),它是一个日志操作包。通过使用Log4J,可以指定日志信息输出的目的地,控制每一条日志的输出格式,定义日志信息的级别。所有这些功能通过一个配置文件灵活进行配置。 一、LOG4J组成 ? LOG4J主要由三大组件组成: ? . Logger: 决定什么日志信息应该被输出、什么日志信息应该被忽略; ? . Appender: 指定日志信息应该输出到什么地方, 这些地方可以是控制台、文件、网络设备; ? . Layout: 指定日志信息的输出格式; ? 一个Logger可以有多个Appender,也就是说日志信息可以同时输出到多个设备上,每个Appender对应 ? 一种Layout(示例见下图)。 ? ? ? ? ↗ Appender1 → Layout ? / ? ? Logger ? ﹨ ? ? ? ? ↘ Appender2 → Layout 二、Logger组件 ? 1. Logger???件提供的方法: ? ? Logger组件是LOG4J的核心组件,它代表了Log4J的日志记录器,它能够对日志信息进行分类筛选。它由org.apache.log4j.Logger类实现,提供了如下方法: java 代码 package org.apache.log4j; ? ? public class Logger { ? ? ? ? ? // Creation retrieval methods: ? ? ? ? public static Logger getRootLogger(); ? ? ? ? public static Logger getLogger(String name); ? ? ? ? ? // printing methods: ? ? ? ? public void debug(Object message); ? ? ? ? public void info(Object message); ? ? ? ? public void warn(Object message); ? ? ? ? public void error(Object message); ? ? ? ? public void fatal(Object message); ? ? ? ? ? ? // generic printing method: ? ? ? ? public void log(Priority p, Object message); ? } ? ? 2. 在配置文件中配置Logger组件 ? ? 可在Log4J配置文件中配置自己的Logger组件,示例: ? ? log4j.logger.myLogger=WARN ? ? 以上代码定义了一个Logger组件,名称为myLogger,日志级别为WARN。 ? 3. 日志级别种类: ? ? 一共有五种,级别由高到低依次是:fatal、error、warn、info、debug。获得Logger实例后,我们可调用以下方法之一输出日志信息: ? ? public void debug(Object message); ? ? ?//输出debug级别的日志信息; ? ? public void info(Object message); ? ? ? //输出info级别的日志信息; ? ? public void warn(Object message); ? ? ? //输出warn级别的日志信息; ? ? public void error(Object message); ? ? ?//输出error级别的日志信息; ? ? public void fatal(Object message); ? ? ?//输出fatal级别的日志信息; ? ? public void log(Priority p, Object message);//输出参数Priority指定级别的日志信息; ? ? 以上方法只有当它的级别大于或等于Logger组件配置的日志级别时才调用。以前面我们配置的myLogger为例,它的日志级别为WARN, 那么在程序中,它的warn()、error()、fatal()方法会被执行。对于log()方法,只有当它的参数Priority指定的日志级别大于或等于WARN时,它才会被执行。 ? 4. 为什么需要对日志进行分级? ? ? 在写程序的时候,为了调试程序,我们会在很多出错的地方输出大量的日志信息。当程序调试完,不需要这些信息时,将程序中

文档评论(0)

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

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

1亿VIP精品文档

相关文档