JR 精品文章 - 在Java中处理日志记录
AD: jr (at) javaresearch.org


首页 | 动态 | 文章 | FAQ  | 新闻 | 下载 | 代码 | 工作 | 调查 | 术语 | 站点 | 图书 | 论坛 | 帮助 | 全部  

TOP | 交流 | 软件 | 专栏 | 开源 | 译/著 | 源码 | API  | 推荐 | FTP  | 积分 | 统计 | 搜索 | Blog | 我们  
首页 » 研究文集 » JDK核心API 搜索标题相关文章 搜索标题相关文章    评论此文章 发表评论     开始监控此文章 开始监控   加入收藏夹  加入收藏夹
在Java中处理日志记录
dulu 转贴   更新:2005-05-18 17:30:52  版本: 1.0   

原文:http://www.xon.cn/class/11157.html

在JDK1.4中提供了一个日志记录包:java.util.logging,它可以对程序中的日志记录进行相当复杂的控制。例如:通过它可以指定日志的级别和日志的位置(控制台、文件、套接字、内存缓冲区),也可以创建子记录器,通过它可以用程序控制的方式来指定想记录的内容,也可以使用配置文件来指定,而不需要去改动程序。和Log4j相比,它更简单更轻量级,在对日志输出的要求不是很复杂时,它无疑是更好的选择。

 

首先我们获得一个LogManager类的一个实例:

LogManager lMgr = LogManager.getLogManager();

然后我们创建记录器,并且把它添加到当前的管理器:

String thisName = “Logpkg”;

Logger log = Logger.getLogger(thisName);

lMgr.addLogger(log);

如果我们没有指定日志文件存放的位置,则按照jre/lib目录下logging.properties文件中指定的内容,默认是ConsoleHandler意味着日志信息在控制台显示。

 

在程序中我们可以按照级别发布日志信息,共有7个级别:SERVER(最高值),WARNING,INFO,CONFIG,FINE,FINER,FINEST(最低值),和OFF(不记录)。

log.server(“error”);

 

我们可以设置记录器的记录级别,以忽略低于WARNING级别的消息,只有用server和warning记录的信息才能输出。

log.setLevel(Level.WARNING);

log.info(“This message is info”);//这条信息会被忽略,不会被输出

log.warning(“This message is warning”);//这条信息会输出

 

Logger的名字可以是简单的文字,也可以是逗号分隔的复合名字,一个逗号左边名字相同但是逗号右边具有附加名字的记录器是原型记录器的子记录器,例如一个叫Logpkg的记录器和一个叫Logpkg.Test1的记录器。记录器和它的子记录器可以是不同的级别,在整个程序中可以只记录SERVER信息,对于一个可疑的部分,则可以记录其他更多的事件。

 

如果想要同时把日志输出到文件和控制台,可以创建一个FileHandler并把它添加到记录器。

fh = new FileHandler(“runtime.log”);

log.addHandler(fh);

如果没有特别指定,文件格式默认的是XML。

 

通过配置文件来控制日志记录:

FileInputStream fi = new FileInputStream(new File(logging.properties));

lMgr.readConfiguration(fi);

这样做的好处是不需要改变或重新编译程序,就可以改变日志记录的状态。

配置文件的格式:

handlers = java.util.logging.FileHandler,java.util.logging.ConsoleHandler

.Level = INFO

 

java.util.logging.ConsoleHandler.pattern = runtime.log

java.util.logging.ConsoleHandler.limit = 50000

java.util.logging.ConsoleHandler.count = 2

java.util.logging.ConsoleHandler.formatter = java.util.logging.XMLFormatter

 

java.util.logging.ConsoleHandler.level = WARNING

java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter



版权声明  
本篇文章对您是否有帮助?  投票:         投票结果:     34       2
作者其它文章: 作者全部文章
评论人:chenshy 发表时间: Thu May 19 19:26:16 CST 2005
As the log tool, I think log4j is the better choice. 
评论人:coolasp 发表时间: Wed Jun 15 19:28:44 CST 2005
我也推荐使用log4j,真是个好东西啊。
评论人:欢天喜地 发表时间: Thu Aug 04 14:08:48 CST 2005
习惯于用log4j了,不过可以学习一下。
评论人:yangyu99526 发表时间: Tue Nov 01 10:24:59 CST 2005
[good]
评论人:zouming_3 发表时间: Tue Mar 25 14:35:38 CST 2008
好,不过就是少了点啊。

这个文章共有 5 条评论
主题: Java1.5语言新特性简单总结 上一篇文章
返回文章列表 返回〔JDK核心API〕
下一篇文章 主题: J2SE5.0新特性之范型编程


文字广告链接
        自主、快速定制基于JAVA的B/S业务系统          重量级企业在线自定义WEB报表平台
        Excel制表、零代码发布、打印、图表结合——快逸报表,免费、稳定、功能强大的java工具
        技术圈: 关于Java、dotNet、PHP、Ruby、奇客、Web2.0等更多资讯博客精选文章

关于 JR  |  版权声明  |  联系我们 

©2002-2006 JR 版权所有 沪ICP备05019622号