jdk的logging实例入门学习
在java编程,我们离不开日志,实际上在任何编程中,恐怕都离不开日志。
比较原始的日志行为是
System.out.println()
据我所知,常用的日志组件有:
1、jdk中java.util.logging包下的日志(J2SE1.4成为了Java Se的标准API的一员)
2、log4j
3、logback
logback应该是log4j的取代品,他在性能和功能上在log4j的基础上有所改进。
Log4j是应用最为广泛的日志组件。
此文总结我对jdk中logging的学习:
源代码如下:
package com.cocor.demo.jdk.logging;
import java.util.logging.Logger;
public class LoggingDemo {
??? public static void main(String[] args) {
??????? Logger log = Logger.getLogger(LoggingDemo.class.getName());
??????? //日志信息的级别分为7个等级
??????? log.severe("严重的信息!");
??????? log.warning("警示信息!");
??????? log.info("一般信息");
??????? log.config("配置信息!");
??????? log.fine("精细的信息!");
??????? log.finer("更精细的信息!");
??????? log.finest("最精细的信息!");
??? }
}
运行上面的程序,结果如下:
2008-11-16 11:26:57 com.cocor.demo.jdk.logging.LoggingDemo main
严重: 严重的信息!
2008-11-16 11:26:57 com.cocor.demo.jdk.logging.LoggingDemo main
警告: 警示信息!
2008-11-16 11:26:57 com.cocor.demo.jdk.logging.LoggingDemo main
信息: 一般信息
为什么没有配置一下的信息,原来logging的默认配置文件是:jre/lib目录下的logging.properties,打开此文件,找到
.level= INFO
修改为:
.level= FINEST
找到
java.util.logging.ConsoleHandler.level = INFO
修改为:
java.util.logging.ConsoleHandler.level = FINEST
再运行这个程序 ,于是所有的级别都打印出来了。
通过修改这个配置文件,还可以把日志信息输出到文件中,这里不再赘述。因为阅读配置文件来修改它,不是很难。
?
?
别一种方法是自定义配置文件:
如我的:
logging.properties
?
handlers=java.util.logging.ConsoleHandler
.level=INFO
java.util.logging.ConsoleHandler.level=FINEST
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
maomao.level=FINEST
?
?
在运行的时候加上:
?? java?-Djava.util.logging.config.file=test/logging.properties? yourApp