java logging的一些小小记录

logging是Java里面自带的日志工具,由于是自带的,不需要导入第三方库,直接import java.util.logging.Logger即可。虽然功能较简单,而且没有查询功能,但是日常用用应该足够了。

logging定义了日志的7个等级:

SEVERE
WARNING
INFO
CONFIG
FINE
FINER
FINEST
此外,OFF,用来关闭日志;ALL,用来开启所有级别

这些等级主要是用来区分日志的重要性的,举个例子,查看一下Level.INFO的javadoc:
日志级别上面说,INFO级别只能用于对终端用户和系统管理员有意义的相当重要的消息。但是,如果只是单纯的使用logging作记录用,区别不大。默认等级是INFO级别,也就是说以下等级的日志都不会输出,需要使用Logger.setLevel(Level.XXX)来调节这个级别。

  1. Logger的获取

获取一个logger的方法声明是

public static Logger getLogger(String name);

在其说明中这样写道“如果已使用给定名称创建了logger,则返回该logger。否则将创建一个新的logger。”,因此,我们一般使用getLogger(类名.class.getName()),这样不会重复获取。

  1. Logger的输出

使用log.log(Level.INFO,“message”),或者log.info(“mesage”)来输出,默认输出到控制台上,输出结果如下:
在这里插入图片描述
包含了时间、类名、日志信息。如果需要取消控制台输出,使用log.setUseParentHandlers(false)进行关闭,它取消了其parent handler,取而代之,假如我们需要将日志写进文件里,则需要使用FileHandler。

FileHandler fh = new FileHandler("file_path", false);

其中,第一个参数是日志文件路径,第二个参数表示是否进行覆盖写入,若选了true,则每次向相同的文件末尾追加写入。使用记事本打开结果如下,看起来很凌乱。
在这里插入图片描述如果我们需要规范其格式,则需要使用Formatter,创建匿名类并重写其format方法:

fh.setFormatter(new Formatter() {
	@Override
	public String format(LogRecord record) {
		return "日志记录:" + record.getMessage() + "\r\n";
    }
});

这样输出结果就变成了:
在这里插入图片描述
目前掌握的关于logger的知识就是这样,在这里进行记录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值