java.util.logging.* 这下面全是关于日志的类(废话。。。。。。)类实在太多了,以下是是自己写的一个小例子(错,是偷袭的java高级编程上面的,哈哈.....脸红...................)甭管是抄了还是自己写的吧,,只要明白了就行了,
首先了写一个格式化输入类
HTMLFormatter.java
import java.util.logging.*;
public class HTMLFormatter extends Formatter{
public String format(LogRecord record) {
return "<tr><td>"+record.getMillis()+"</td><td>"+record.getMessage()+"</td></tr>/n";
}
public String getHead(Handler h)
{
return("<html>/n<body>/n<table border>/n"+"<tr><th>Time</th><th>Log Message</th></tr>/n");
}
public String getTail(Handler h)
{
return("</table>/n</body/n/n</html>");
}
}
然后在写日志类
LoggingExample2.java
import java.util.logging.*;
import java.io.*;
public class LoggingExample2 {
public static void main(String[] args) {
LogManager lm=LogManager.getLogManager();
Logger parentLogger,childLogger;
try {
FileHandler xml_handler = new FileHandler("log_output.xml");
FileHandler html_handler = new FileHandler("log_output.html");
parentLogger=Logger.getLogger("ParentLogger");
//他们之间的父子关系用 . 表式
childLogger=Logger.getLogger("ParentLogger.ChildLogger");
lm.addLogger(parentLogger);
lm.addLogger(childLogger);
//日志的所有消息,警告以及更高的级别
parentLogger.setLevel(Level.WARNING);
//日志所有消息---最低的级别
childLogger.setLevel(Level.ALL);
xml_handler.setFormatter(new XMLFormatter());
html_handler.setFormatter(new HTMLFormatter());
parentLogger.addHandler(xml_handler);
childLogger.addHandler(html_handler);
childLogger.log(Level.FINE,"This is a fine log message");
childLogger.log(Level.SEVERE,"This is a server log message");
xml_handler.close();
html_handler.close();
} catch (SecurityException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
运行出来的效果是:
1.在dos下输出以下内容:
2007-3-22 14:24:50 test.LoggingExample2 main
严重: This is a server log message
2.在工程目录下创建两个文件,这两个文件描述了这个日志的信息
log_output.xml:该文件是由父记录器创建的
log_output.html:此文件是由子记录器创建的