Java 中自带的日志系统,今天抽空了解了一点,算是入了门,所以将自己的一些心得记录下来,以备日后查看,有兴趣的朋友,看到此文章,觉得有错误或需要添加的地方,请在下方评论留言,大家可以共同进步,谢谢:)
Java中关于日志系统的API,在 java.util.logging 包中,在这个包中,Logger类很重要。
Logger类是用来记录 某个级别的日志消息:
级别共分为以下几类,从上倒下,级别依次下降:
SEVERE(严重)------级别最高
WARNING(警告)
INFO
CONFIG
FINE
FINER
FINEST------最低值
另外,还有一个级别 OFF,可以用来关闭日志;使用级别 ALL,启用所有消息的日志记录。(日志消息级别,可以查看 java.util.logging.Level类)
具体记录日志的方法,查看此类的API文档,在此就不详述了。
Logger记录的日志消息会被转发到已注册的Handler对象,handler对象可以将消息发送到:控制台,文件,网络等等。
Handler类(抽象类):主要用于转发日志消息
Hanlder类下有2个子类:MemoryHandler、StreamHandler。
StreamHandler下有3个子类:ConsoleHandler(将日志消息打印到控制台)、FileHandler(将日志消息输出到文件)、SocketHandler(将日志发送到网络中的某个主机)。具体详情,查看API文档。
Formatter类(抽象类):主要用于格式化日志记录消息。
有2个子类:SimpleFormatter(纯文本形式), XmlFormatter(XML形式)
下面一起来写一个测试程序吧:
/**
* DateAndTime: 2016-12-8下午10:37:18
*/
package chapter07;
import java.io.IOException;
import java.util.logging.FileHandler;
import java.util.logging.Logger;
/**
* @author Administrator
* 将日志记录写入到文件中
*
*/
public class TestLoggingToFile {
public static void main(String[] args) throws SecurityException, IOException {
//日志记录器
Logger logger = Logger.getLogger("chapter07");
//日志处理器
FileHandler fileHandler = new FileHandler("d:\test.txt");
//需要记录的日志消息
LogRecord lr = new LogRecord(Level.INFO, "This is a text log.");
//为处理器设置日志格式:Formatter
SimpleFormatter sf = new SimpleFormatter();
fileHandler.setFormatter(sf);
//注册处理器
logger.addHandler(fileHandler);
//记录日志消息
logger.log(lr);
}
}
当然,如果把 SimpleFormatter 改成 XmlFormatter,记录的消息是xml形式,在此就不贴代码了,各位看官可以自己试试,哈哈哈:)
以上就是,Java日志系统的简单入门了,赶快拿起旁边的键盘,敲着试试吧:)