没有合适的资源?快使用搜索试试~ 我知道了~
log4j手册
资源推荐
资源详情
资源评论
log4j 简明手册
!"!#
版权所有。$% 软件是在遵守 $!&'#' 版的条例下
发行的,$!& 的复制件被包括在 % 发布的
$()*)#+ 文件里。这个简短手册也借用了 %!
里的一些内容,%! 包含最新的更为详尽的信息。
The complete log4j manual
摘要
这个文档资料描述了 %,(,它的独特的特性和设计原理。$% 是由许多
作者共同参与的开放源代码项目。它允许开发人员以任意的精细程度控制哪些
日志说明被输出。通过使用外部的配置文件,可以在运行时配置它。最好的是,
%开发包很容易上手。注意,它也可能会使一些开发人员着迷。
简 介
几乎每个大的应用程序都有它自己的日志和跟踪程序的 ,(。顺应这一规则,
)#-#),). 项目组决定编写它自己的程序跟踪 ,((!,()。这开
始于 '//0 年早期。经过无数的工作,更改和性能加强,这个 ,( 终于成为一
个十分受欢迎的 12 日志软件包,那就是 %。这个软件包的发行遵守
!& 动议认证的 $!&。最新的 % 版本包
括全部的源代码,类文件和文档资料,可以在
http://logging.apache.org/log4j/找到它们。另外,% 已经被转换成
344353,3,!3. 63和 )7语言。
把 &!& 插入到你的代码中是一种排错的低技能办法。这也许是唯
一的方法,因为排错工具并不总是可以被使用或者适用于你的程序。对于多线
程的应用程序和多数发行的应用程序,通常就是这样的情形。
经验告诉我们 ! 是开发过程中重要的一环。它具有多种优点。首先,它
能精确地提供运行时的上下文8context9。一旦在程序中加入了 $代码,它
就能自动的生成并输出 ! 信息而不需要人为的干预。另外, 信息的
输出可以被保存到一个固定的地方,以备以后研究。除了在开发过程中发挥它
的作用外,一个性能丰富的日志记录软件包能当作一个审计工具8 "9使
用。
:!;#<!!和 .6,在他们的=,
,!=书中这样写到: "The Practice of Programming"
作为个人的选择,除了得到一大堆程序跟踪信息或一两个变量值以外,我们倾
向於不使用排错器。一个原因是在详细而复杂的数据结构和控制流程中很容易
迷失;我们发现认真思考并在关键处加入自我检查代码和输出指令,比起一步
步看程序要效率高。在日志说明里查找比在明智地放置自我检查代码后的输出
里查找要费时。而决定在哪里放置打印指令要比在日志说明里一步步找到关键
的代码要省时间。更重要的是,自我检查的排错指令和程序并存;而排错
&&&!& 是暂时的。
$! 确实也有它的缺陷。它降低了程序运行的速度。它太冗长,查看时很
容易错过。为了减少这些负面影响,%被设计得可靠,高效和灵活。因为,
记录日志很少是一个应用程序的主要焦点,%,(尽量做到容易被理解和
使用。
Loggers, Appenders and Layouts
$%有三个主要组件:loggers3appenders 和 layouts。这三类组件一起
应用,可以让开发人员能够根据日志的类型和级别进行记录,并且能在程序运
行时控制 信息输出的格式和往什么地方输出信息。
Logger hierarchy
任何 !,(与简单的 &# #!! 输出调试信息方法比较,最
主要的优点在于它能够关闭一些调试信息输出而不影响其他人的调试。这种能
力的实现是假设这些 ! 空间,也就是所有的可能发生的日志说明空间,
可以根据程序开发人员选择的标准进行分类。这一观察以前使得我们选择了
category 作为这个软件包的中心概念。但是,在 %'# 版本以后,
$ 类取代了 类。对于那些熟悉早先版本的 % 的开发人员来
说,$ 类只不过是 类的一个别名。
Loggers 是被命名的实体。Logger 的名字大小写有区别(case-sensitive),并且它们遵守阶
层式的命名规则:
Named Hierarchy
如果一个 的名字后面跟着一个点号("),它就是点号
(")后面的那个 的前辈( ancestor),是这个晚辈
(descendant) 的前缀。如果在它自己和这个晚辈之间没有其它的前
辈,它和这个晚辈之间就是
父子
关系。
例如,叫做=#=的 是叫做 =##:=的 的父辈 。
同样地,=%2=是=%2# =的父辈,是=%2# #>=的前辈。大多数
开发人员都熟悉这种命名方法。 =#=?=##:=?=%2=
=%2# =?=%2# #>=
根()位于 阶层的最上层。它在两个方面很特别@
'# 它总是存在的,
# 不能通过使用它的名字直接得到它。
通过这个类的静态方法 $#.$
得到它(指 .$)。
所有其他的 & 是通过静态方法 $#$
来实例化并获取的。
这个方法 $#$ 把所想要的 的名字作为参数。 $
类的一些其它基本方法在下面列出:
##%
6&&LoggerA
BB!!"2"&@
6&$.$89
6&$$8!!9
BB!!"&@
62""6 8C6%&&9
62"!8C6%&&9
62"!8C6%&&9
62"8C6%&&9
62"8C6%&&9
BB!!!"@
62"8$23C6%&&9
D
$&
可以
被指派优先级别。$2#5E):-=FE):-3(*C3
;.*3)..C.和 $ 这组级别在 ##%#$2 类中有定义。
你也
可以
通过 $2 类的子类去定义你自己的优先级别,尽管我们不鼓励你这
样做。在后面我们会讲到一个更好的方法。
如果一个 logger 没有被指定优先级别,它将继承最接近的祖先所被指定的优先级别。下面
是更多关于优先级别的信息:
Level Inheritance
对于一个给定的 ,它
继承的级别
等于 阶层里,从 开
始往 上去的第一个 !!! 级别。
要保证所有的 & 最终都继承一个优先级别, 总是有一个被
指派的优先级。
下面是具有各种指派优先级别值的四个表格,以及根据上面的规则所得出的继承优先级别。
Logger
name(名
称)
指派
级别
继承
级别
根
, ,
G !! ,
G#H !! ,
G#H#I !! ,
例子
在上面的示例 1 中,只有 root logger 被指派了级别。这个级别的值,Proot,被其它的
loggers X, X.Y 和 X.Y.Z 继承了。
Logger
name(名
称)
指派
级别
继承
级别
根
, ,
G ,+ ,+
G#H ,+ ,+
G#H#I ,+J ,+J
例子
在上面的示例 2 中,所有的 loggers 都有一个指派的级别值。不需要级别继承。
Logger
name(名
称)
指派
级别
继承
级别
根
, ,
G ,+ ,+
G#H !! ,+
G#H#I ,+J ,+J
例子
在示例 3 中,loggers root, X 和 X.Y.Z 分别被指派级别值 Proot, Px 和 Pxyz。Logger X.Y 从
它的父辈 X 那里继承它的级别值。
Logger
name(名
称)
指派
级别
继承
级别
根
, ,
G ,+ ,+
G#H !! ,+
G#H#I !! ,+
例子
在示例 中,& 和 G分别被指派级别值 , 和 ,+。$G#H
和 G#H#I 继承它们最接近的父辈 G 的被指派的级别值。
日志请求是通过调用一个日志实例的打印方法(之一)而产生的。这些打印方
法是 %B$#5"6 8%2#!#C6%9=F"6 3!3!3
3和 。
根据定义,打印方法决定一个日志请求的级别。例如,如果 是一个日志实例,
那么语句 #!8=##=9就是级别为 (*C 的一个日志请求。 #!8=##=9
只有一个日志请求8!K &9的级别高于或等于它的 级别的
时候才
能够被执行
。否则,则被认为这个日志请求
不能被执行
。一个没有被定义
优先级别的 logger 将从层次关系中的前辈那里继承优先级别。这个规则总结如下:
Basic Selection Rule
在一个级别为 K(被指定的或继承的)的 里,一个级别为 的日
志请求,只有在 p >= q时才能够被执行。
这个规则是 % 的核心。它假设级别是有先后顺序的。对于标准的优先级别
来说,E):-L(*CL;.*L)..C.L$。
这里是一个关于这个规则的例子:
BB!&!!"=#=
$M$#$8"com.foo"9
BB*&&2#* "!!"&
BB2#&& & "!
BB!!N !N&#
logger#&$28Level.INFO9
剩余20页未读,继续阅读
资源评论
lch_leaf
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 什么是移动应用开发-关于移动应用开发的相关介绍
- 第二组汇报 PPT.pptx
- 什么是大数据开发-相关介绍-关于大数据开发的相关介绍
- 什么是软件测试-相关介绍-关于软件测试的相关介绍
- 前端开发-什么是前端开发-关于前端开发的一些相关介绍
- Sora AI-关于文生视频的使用场景说明
- suno AI文生视频的相关教程和介绍使用
- 什么是后端开发-关于后端开发的一些小介绍分享
- Jurassic Pack Vol. II Dinosaurs 侏罗纪包卷恐龙二号Unity游戏模型资源unitypackage
- Jurassic Pack Vol. III Dinosaurs 侏罗纪包卷恐龙三号Unity游戏模型资源unitypackag
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功