【java】java自带Logger介绍及支持INFO以下级别的显示的配置

本文介绍了Java内置的日志记录功能,包括全局日志记录和自定义日志记录的使用。日志级别分为7级,通常默认只显示前三个级别。若要显示INFO级别以下的日志,需要进行配置:复制并编辑logging.properties文件,调整相应级别设置,然后在程序中调用相应方法。按照步骤操作后,即可实现所需日志级别显示。

java的java.utils.logging包中包含了一堆由java提供的日志记录功能。
使用方式主要分为两种:

1、基本的全局日志记录功能
例如打印info级别的全局日志:


// 可选的设置打印的日志级别(打印所有级别)
Logger.getGlobal().setLevel(Level.ALL);
// 打印info级别的全局日志
Logger.getGlobal().info("测试日志输出");

2、使用自定义的日志记录
例如:


// 创建一个记录器名为com.lanting.test的自定义日志(这个记录器名有层级关系,例如给记录器名为com.lanting的自定义日志设置属性,也会影响到com.lanting.test)
private static final Logger logger = Logger.getLogger("com.lanting.test");

// 可选,设置打印日志级别(默认打印Info级别及以上的信息)
logger.setLevel(Level.INFO);

// 打印info级别的日志
logger.info("测试info日志");
// 打印warning级别的日志
logger.warning("测试warning日志");

// 也可以这样打印日志
logger.log(Level.INFO,"测试info日志");

其中,日志的级别总共分为7个,由高到低分别为:

  • SERVERE
  • WARNING
  • INFO
  • CONFIG
  • FINE
  • FINER
  • FINEST

但是,默认情况下,只记录前三个级别,如果想要显示INFO级别以下的日志信息,需要单独配置

配置方式记录如下:

1、找到JDK安装目录进入目录:jre/lib,复制logging.properties文件到项目src下。
2、编辑logging.properties文件,找到.Level=INFO这一行(我的是29行),将其改为你想显示的级别,比如:.Level=FINE则是显示FINE及以上的级别,.Level=ALL是显示所有日志。当然,可以设置特定的自定的日志级别,例如com.lanting.Level=INFO则是只对记录器名为“com.lanting”及子记录器的起效。
3、继续找到java.util.logging.ConsoleHandler.level = INFO这一行(我的是43行),同样改成你想要显示的级别,例如改成java.util.logging.ConsoleHandler.level = ALL则是显示所有级别的信息(推荐)。
4、在打印日志之前调用

// 重新加载日志配置文件,logging.properties指的是src下的logging.properties文件
System.setProperty("java.util.logging.config.file","logging.properties");
// 设置过滤打印日志的级别(根据个人情况定)
logger.setLevel(Level.FINE);

//下面的日志都可以正常打印出来
logger.finest("finest级别的日志");
logger.finer("finer级别的日志");
logger.fine("fine级别的日志");
logger.config("config级别的日志");
logger.info("info级别的日志");
logger.warning("警告级别的日志");
logger.severe("servere级别的日志");
logger.logp(Level.INFO,"sourceClass","sourceMethod","测试logp打印");
logger.entering("sourceClass","sourceMethod");
logger.exiting("sourceclass","sourcemethod");

到此为止一切搞定!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值