Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1899417
  • 博文数量: 606
  • 博客积分: 9991
  • 博客等级: 中将
  • 技术积分: 5725
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-17 19:07
文章分类

全部博文(606)

文章存档

2011年(10)

2010年(67)

2009年(155)

2008年(386)

分类:

2008-07-31 00:02:16

       随着JDK的发展,现在一般都是使用logging包代替System.out的输出。

       Logging包的使用十分简单,里面要用到的Logger表示一个日志类型。

一般的声明实例化一个logger对象使用如下:

       static Logger logger = Logger.getLogger(MyClass.class.getName());

       logger对象是一个静态类型,调用Logger的静态方法getLogger,我们通常都是用这个类的名字作为构造参数生成这个类的logger对象。

       Java Logging API提供了七个级别用来控制输出。这七个级别分别是:
SEVERE (
最高级别)
WARNING
INFO
CONFIG
FINE
FINER
FINEST (
最低级别)

输出日志:logger.log(Level.INFO,”message”);可以自己调节输出级别。

对于经常输出info级别信息,还有一个便捷的方法logger.info(“message”);

       缺省日志输出级别的设置是info,也就是说只有info或它以上的级别被输出,它以下的级别不被输出。

       通过变更设置可以使输出级别改变。

       修改方法:缺省的外部配置文件是JRElib/logging.properties文件。你可以打开这个文件,修改以下两行为:
.level= ALL
java.util.logging.ConsoleHandler.level = ALL

       ALL表示输出全部级别的信息。还可以自定义的配置文件。

       我们在这里看到了ConsoleHandler,它表示在控制台输出信息。Handler有以下几种:

StreamHandler

ConsoleHandler

FileHandler

SocketHandler

MemoryHandler

       我们可以通过logger.addHandler(Handler handler)方法将我们需要的Handler加进去。

       默认已经加了ConsoleHandler

       我们可以自己加FileHandler实现使用文本文件记录日志信息:

        FileHandler fileHandler = new FileHandler("d:/log.txt");

        fileHandler.setFormatter(new SimpleFormatter());

        logger.addHandler(fileHandler);

       我们只要调用logger.log(),或者logger.info()方法就可以将信息定向到我们指定的Handler了。

http://hi.baidu.com/coolcat_police/blog/item/1a6eaad9a2545f2910df9b28.html

阅读(595) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~