log4j配置详解分析和总结.docx

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
log4j 配置详解 1. 概述 背景 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作;跟踪代码运行时轨迹,作为日后审计的依据;担当集成开发环境中的调试器的作用,向文件或控制台打印代码的调试信息。 最普通的做法就是在代码中嵌入许多的打印语句,这些打印语句可以输出到控制台或文件中,比较好的做法就是构造一个日志操作类来封装此类操作,而不是让一系列的打印语句充斥了代码的主体。 Log4j 简介 在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外, Apache 为我们提供了一个强有力的日志操作包-Log4j。 Log4j 是 Apache 的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI 组件、甚至是套接口服务器、NT 的事件记录器、UNIX Syslog 守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。 此外,通过 Log4j 其他语言接口,您可以在 C、C+ +、.Net、PL/SQL 程序中使用Log4j, 其语法和用法与在Java 程序中一样,使得多语言分布式系统得到一个统一一致的日志组件模块。而且,通过使用各种第三方扩展,您可以很方便地将Log4j 集成到J2EE、JINI 甚至是 SNMP 应用中。 本文介绍的Log4j 版本是 1.2.3。作者试图通过一个简单的客户/服务器 Java 程序例子对比使用与不使用Log4j 1.2.3 的差别,并详细讲解了在实践中最常使用Log4j 的方法和步骤。在强调可重用组件开发的今天,相信 Log4j 将会给广大的设计开发人员带来方便。加入到 Log4j 的队伍来吧! 2. 一个简单的例子 我们先来看一个简单的例子,它是一个用 Java 实现的客户/服务器网络程序。刚开始我们不使用Log4j,而是使用了一系列的打印语句,然后我们将使用Log4j 来实现它的日志功能。这样,大家就可以清楚地比较出前后两个代码的差别。 不使用Log4j 客户程序 package log4j ; import java.io.* ; import .* ; /** * p Client Without Log4j /p p Description: a sample with log4j/p @version 1.0 */ public class ClientWithoutLog4j { /** * * @param args */ public static void main ( String args [] ) { String welcome = null; String response = null; BufferedReader reader = null; PrintWriter writer = null; InputStream in = null; OutputStream out = null; Socket client = null; try { client = new Socket ( localhost, 8001 ) ; System.out.println ( info: Client socket: + client ) ; in = client.getInputStream () ; out = client.getOutputStream () ; } catch ( IOException e ) { System.out.println ( error: IOException : + e ) ; System.exit ( 0 ) ; } try{  reader = new BufferedReader( new InputStreamReader ( in ) ) ; writer = new PrintWriter ( new OutputStreamWriter ( out ), true ) ; welcome = reader.readLine () ; System.out.println ( debug: Server says: + welcome + ) ; System.out.println ( debug: HELLO ) ; writer.println ( HELLO ) ; response = reader.readLine () ; System.out.println ( debug: Server res

文档评论(0)

tianya189 + 关注
官方认证
内容提供者

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

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档