快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

澳门银河总站网址多少?_集报网



作者: BUILDER.COM

任何利用软件都必要一个从外界网络和互换数据的道路,这可以经由过程界面,数据库或应用文本文件来实现。有了这么多选择,应用通俗的文本文件来做数据的采集和澳门银河总站网址多少?调试的措施彷佛已经被人忘怀,虽然文本文件不能给你供给最新的技巧所带来的愉快感到,然则他却能有效地对利用软件的数据进行采集和阐发。

Log4j数据包

使用Java编程说话中的库可以轻松地向文件写入数据。但在有一个优越的数据包可以应用的环境下,为什么还要进行二次开拓呢?Java SDK 1.4版本将内建一个logging API,但在他加倍成熟之前,我照样会坚持应用一些加倍获得实际证实的器械?例如log4j数据包:它具有健全、靠得住、可轻松扩展、利用简略单纯等的特征,你可以从Apache Jakarta project获得log4j。要应用log4j,在利用软件的CLASSPATH中必要具有log4j.jar文件。

根肇端种别

log4j因此类其余观点为中间进行组织的,在利用软件运行时,log4j可以在任何光阴拥有随意率性多的种别。根种别时不停存在的,他是种别等级的肇端。种别像Java数据包那样应用点式标记来进行命名,这可以很轻易地经由过程在现有的代码布局中安置特定的logging来节制logging声明是若何被处置惩罚的。

种别具有承袭的特点,以是一个名叫com.versatilesolutions.example的种别将会从com.versatilesolutions种别承袭设置。你可以对一个种别设置优先权来节制logging利用软件的数量。优先权包括调试、信息、警告、差错、严重差错。当你调用logging法度榜样时,可以经由过程应用不合的措施对不合的优先权进行设置。假如你正在进行大年夜型操作,你可以反省现有优先权是否被激活,这样大年夜型操作只有在声明被记录的环境下才能运行。

Logging的种类和形式

当logging数据包收到一个logging声明时,log4j应用附加器来指定运行什么类型的logging。Log4j的标准附加器包括屏幕,文件,轮转文件和一个容许在中间区域记录数据的采集的远程附加器。附加器在种别中的利用使得利用软件中的不合部分可以有不合的记录目的地。

假如你给种别设置澳门银河总站网址多少?了优先权和附加器,剩下的便是设置一个形式。形式节制着logging声明的实际款式,例如日期,光阴,基定光阴和线识别等。因为你可以从log4j的资猜中找到所有可用款式的择要,这里我就 不再胪陈了。

对log4j的设置设置设备摆设摆设可以经由过程XML文件或Java属性文件来完成。我更爱好Java属性文件技巧,这是因为他真正地具有对付澳门银河总站网址多少?XML文件的胜过性上风。列表A包孕一个用来设置设置设备摆设摆设log4j的属性文件。

属性文件中第一个无注释行指定了根种别具有调试的优先权和三个附加器,分手标注为A1,A2,A3。残剩部分为每一个识别器指定了附加器。在这个属性文件里,附加器分手是节制(屏幕),轮转文件和UDP播放器。

UDP播放器属于一个附加器,我把他加入log4j数据包中使得我可以互动地察看记录声明。每一个附加器都有一个形式工具,在这里面应用了PatternLayout并随之以转换模式。转换模式中的特点指定了输出,%符号用来指定款式特点,在此例中,%-5p代表在优先权中应用五个特点的左对齐(p),接着这天期(%d),线信息(%t),消息(%m),着末是线终止特点(%n)。

在利用软件中应用log4j,你必要用PropertyConfigurator来加载这个属性文件,在肇端类中的一行信息会实现这一目的:

….

PropertyConfigurator.configure("path/to/file.properties");

设置设置设备摆设摆设被加载之后,利用软件中必要logging功能的类都必要对种别工具的参照。因为种别应用数据包命名要领,我常常应用与种别相同的类名,只管这不是必须的,而是根据你若何对设置设置设备摆设摆设进澳门银河总站网址多少?行安排所抉择的。声明一个类的单静态变量可以使logging法度榜样可用:

import org.apache.log4j.Category;

….

private static final Category log = Category.getInstance(MyClass.class.getName());

logging事故

在利用软件中的logging现在可以轻松实现,只要调用与所logging信息的优先权相对应的措施即可。例如,下面是调试信息:

log.debug("Log4j really works!");

假如你要确定调试优先权被激活,你可以在调试调用之提高行查看。要留意的是除非精确地设置了优先权,否则纵然你发出了信息也不会被记录。反省当前的优先权是一种避免大年夜型操作先于记录操作征象得简单措施。下面是一个在记录声明之前反省优先权的例子:

if ( log.isDebugEnabled() ) {

log.debug("Another log statement.”澳门银河总站网址多少?);

}

你也可以在记录措施中加入一个例外,例外中包孕有记录消息如下面所示:

log.warn("Oops caught an exception.", myException);

假如你的利用软件必要一个强力的logging功能,看一看log4j数据包吧,他供给了很强的适应性,具有可设置设置设备摆设摆设的附加器和优先权体系可以使你对产品中的logging进行节制和调剂而不会使系统显明扩大年夜。

摘自:Net China   光阴:2003年1月13日

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: