当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 1.0 Java Logging Overview1.1 Ove
 

 

 ·junir源码分析(一)     »显示摘要«
    摘要:一、引子junit源码是我仔细阅读过的第一个开源项目源码。阅读高手写的代码能学到一些好的编程风格和实现思路,这是提高自己编程水平行之有效的方法,因此早就想看看这些赫赫有名的框架是怎么回事了。今天就拿最简单的junit下手,也算开始自己的源码分析之路。 junit作为最著名的单元测试框架,由两位业界有名人士协力完成,已经经历了多次版本升级(了解aspx">junit基础、aspx">junit实践)......
 ·java构造函数运行解析     »显示摘要«
    摘要:源代码如下import java.util.*;class super1{{ system.out.println("super1 ok");} super1() { system.out.println("3"); }}class employee extends super1{ private string name; private double sa......


深探java.util.logging包
1.0 java logging overview    1.1 overview of control flow      1.2 log levels     1.3 loggers     1.4 logging methods     1.5 handlers     1.6 formatters     1.7 the logmanager     1.8 configuration file     1.9 default configuration     1.10 dynamic configuration updates     1.11 native methods     1.12 xml dtd     1.13 unique message ids     1.14 security     1.15 configuration management     1.16 packaging     1.17 localization     1.18 remote access and serialization2.0 examples     2.1 simple use     2.2 changing the configuration     2.3 simple use, ignoring global configuration     2.4 sample xml output3.0 appendix a: dtd for xmlformatter output

【程序编程相关:用javamail免认证方式发送邮件给1

 

【推荐阅读:国内Nokia手机主要参数列表

logging apis在javautilloggingpackage-summary.html">j2se api specification.已经被详细描述.这个文档的目标是提供关键元素的概要. 【扩展信息:JBuilder+JBoss+tomca

1.0   javatm logging overview

 

1.1 overview of control flow 控制流概要

应用程序调用logger对象来记录日志.(例1.1) loggers被以一种层次命名形式来组织起来,并且子logger可能自它们的父logger中继承一些属性.(例1.2)

 

应用程序调用logger对象来记录日志.这些logger对象定位logrecord对象,这是一些被传送到handler对象发布的对象(例1.3).loggers与handlers都使用日志级,与(可选)过滤器来决定是否它们对某个特定记录感兴趣(例1.4).当需要发布一个记录,一个handler可以使用一个formatter来局部化与格式化这条信息,对发布到i/o流之前(例1.5).

每个logger保持跟踪一些输出handlers.默认情况下所有loggers也发送它们的输出到它们的父logger(例1.5).但logger也可能被配置成忽略上层的handlers.(例1.6)

 

一些handlers可能直接输出到其它handlers. 例如,memoryhandler维护一个logrecord的内部环缓冲,并在触发事件它发布它的logrecords通过一个目标handler.在这种情况,任何信息都被链的最后handler处理.

这些apis都是有结构的,所以即使logging被禁用logger apis也是轻量级的.如果logging在给出的日志级别被禁用,logger会执行一个轻量的比较测试与返回.如果logging在指定的级别被启用,logger仍然小心地把化费尽可能减少,在传logrecord进入handlers的时候. 特别地,本地化与格式化是延时的,当handler请求它们的时候.例如,一个memoryhandler可以维护一个logrecords的通知缓冲,在没有化费格式化的时间.

 

1.       2log levels

每个日志信息都有一个相关的日志级. 这个级别粗糙指导日志信息的重要性与紧急性.log level 对象封装成一个整数,较高的数值代表较高的优先级.

 

level类定义了七个标准日志级.范围从finest(最低优先级,最小数值)到server(最高优先组,最大数值)

 

1.       3loggers

正如前面规定的,客户代码发送一个日志请求到logger对象.每个logger保持跟踪它感兴趣的日志级,并丢弃小于这个级别的日志.

 

loggers通常以实体命名,使用点分隔符命名,例如”java.awt”.这个命名空间是层次的,并于logmanager管理. 这个命名空间通常应该由java包名字空间组织. 但不一定要跟随..例如,一个logger名叫”java.awt”有可能处理一个java.awt包的日志请求,但也可能处理一个在sun.awt中的一个类的日志请求.

 

别外,也可以创建一个匿名logger, 一个不出现在共享命名空间的logger. 具体看1.14.

 

logger跟踪它们的父logger在日志命名空间. 一个logger的父是它最近的祖先,在日志命名空间. 根logger(名叫 ””)没有父. anonymous logger are all given the root logger as their parent. logger可能继承多个属性从它们的父(在logger命名空间). 特别的,一个logger可能继承:

       *日志级别. 如果一个logger的级别是设置为null,那么这个日志会从父日志中继承第一个非null级别.

       *handlers.默认一个logger会记录任何输出信息到它的父handlers.,并在树中递归.

       *资源包名. 如果一个日志有一个null资源包名,那么它会继承任何定义给它的父日志的资源包,并在树中递归.

 

1.4   logging methods


...   下一页
    摘要:converting between applets and applicationsto convert an application to applet: create an html page with an applet tag to invoke the applet. delete the main method. alter the class header so that it e......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE