JDK自带的日志java.util.logging解析

java.util.logging:JDK标准库中的类,是JDK 1.4 版本之后添加的日志记录的功能包。
log4j:最强大的记录日志的方式。可以通过配置 .properties 或是 .xml 的文件, 配置日志的目的地,格式等等。log4j启动时,默认会寻找source folder下的log4j.xml配置文件,若没有,会寻找log4j.properties文件。
commons-logging:最综合和常见的日志记录方式,是Java中的一个日志接口,一般会与log4j一起使用。自带SimpleLog可用于日志记录。

JDK Logging把日志分为如下七个级别,等级依次降低。

级别SEVEREWARNINGINFOCONFIGFINEFINERFINEST
调用方法severe()warning()info()config()fine()finer()finest()
含义严重警告信息配置良好较好最好

如果将级别设置为INFO,则INFO后面的不会输出。info前面的全部输出。通过控制级别达到控制输出的目的。

import java.util.logging.Level;
import java.util.logging.Logger;
 
/**
 * @Description: LOG4J
 * @Author: ChromeRo
 * @Date: 2019.3.28 11:34 上午
 */
public class LogJDKTest {
	private static Logger log = Logger.getLogger(LogJDKTest.class.toString());
 
	public static void main(String[] args) {
		// all→finest→finer→fine→config→info→warning→server→off
		// 级别依次升高,后面的日志级别会屏蔽之前的级别
		log.setLevel(Level.INFO);
		log.finest("finest");
		log.finer("finer");
		log.fine("fine");
		log.config("config");
		log.info("info");
		log.warning("warning");
		log.severe("server");
	}
}

控制台输出:

三月 28, 2019 12:21:12 下午 com.chromer.test.LogJDKTest main
信息: info
三月 28, 2019 12:21:12 下午 com.chromer.test.LogJDKTest main
警告: warning
三月 28, 2019 12:21:12 下午 com.chromer.test.LogJDKTest main
严重: server

1.JDK log默认会有一个控制台输出,它有两个参数,第一个参数设置输出级别,第二个参数设置输出的字符串。
2.同时也可以设置多个输出(Hander),每个输出设置不用的level,然后通过addHandler添加到了log中。
注意:为log设置级别与为每个handler设置级别的意义是不同的。

import java.util.logging.ConsoleHandler;
import java.util.logging.Handler;
import java.util.logging.Level;
import java.util.logging.Logger;
 
/**
 * @Description: LOG4J
 * @Author: ChromeRo
 * @Date: 2019.3.28 11:34 上午
 */
public class LogJDKTest {
	public static Logger log = Logger.getLogger(LogJDKTest.class.toString());
 
	static {
		Handler console = new ConsoleHandler();
		console.setLevel(Level.SEVERE);
		log.addHandler(console);
	}
 
	public static void main(String[] args) {
		// all→finest→finer→fine→config→info→warning→server→off
		// 级别依次升高,后面的日志级别会屏蔽之前的级别
		log.setLevel(Level.INFO);
		log.finest("finest");
		log.finer("finer");
		log.fine("fine");
		log.config("config");
		log.info("info");
		log.warning("warning");
		log.severe("server");
	}
}

控制台输出:

// 下面的输出是默认控制台的
三月 28, 2019 12:21:12 下午 com.chromer.test.LogJDKTest main
信息: info
三月 28, 2019 12:21:12 下午 com.chromer.test.LogJDKTest main
警告: warning
三月 28, 2019 12:21:12 下午 com.chromer.test.LogJDKTest main
严重: server
// 下面的输出是自己添加hander的
三月 28, 2019 12:21:12 下午 com.chromer.test.LogJDKTest main
严重: server

根据级别等级,如果设为all,则所有的信息都会被输出,如果设为off,则所有的信息都不会输出。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值