Java.util.logging日志入门教程(一)properties配置(输出控制台)

 1.简介

        (1)收获

       最近在学日志,log4j2, logback, log4j 什么的,比较多的问题, 反倒忽略了最简单的Java.util.logging。

      与其他的日志不同,Java.util.logging的日志级别为SEVERE (严重), WARNING(警告), INFO (信息),CONFIG(配置),FINE(详细), FINER(较详细),FINEST (非常详细) 等。

       与log4j2相比,Java.util.logging用于小型系统,当日志量过大时性能有待提升,并发性能不够。不过好在Java.util.logging是原生的JDK类集,无需引入maven新包,尽管比不上logback, log4j2, 但也有它自己的优势。   

        (2)各个类

        重要的类Logger类(记录器)和Handler类(处理器),二者分别完成以下功能:

                    (1)Logger日志记录器,实现记录日志,设置日志级别等功能。

                    (2)Handler日志处理器,属于接口对象,决定日志的输出方式等。

        其他的比较重要的类还有:

  • Level :日志的记录级别

  • Filter 日志过滤器,接口,在日志被 Handler 处理之前,起过滤作用

  • LoggerManager:   日志管理器

  • Formatter:   日志格式化转换器,接口对象,决定日志的输出格式

2.简单示例
 
        (一)简单示例,第一个,什么都不丫说,上代码!(什么也不配)
import java.io.IOException;
import java.util.logging.Logger;
/***Created by mo
 *On 2017/9/14  ***15:04.
 ******/
public class SimpleLoggingTest {
    static Logger logger = Logger.getLogger("SimpleLoggingTest");
    public static void main(String[] args) throws IOException {
        try {
            logger.severe("这是[severe]信息");
            logger.warning("这是[warning]信息");
            logger.info("这是[info]信息");
            logger.config("这是[config]信息");
            logger.fine("这是[fine]信息");
            logger.finer("这是[finer]信息");
            logger.finest("这是[finest]信息");
        }catch(ArithmeticException e) {
            e.printStackTrace();
        }
    }
}
      
        默认的配置结果为下图,到了INFO级别

     

     (二)控制台输出,配置propreties, 就在sources上边
                只是控制台输出,logging. propreties配置为:
# "handlers" specifies a comma separated list of ConsoleHandler
handlers= java.util.logging.ConsoleHandler
#整个 Default logging level.
.level= ALL
#控制台 Limit the message that are printed on the console to CONFIG and above.
java.util.logging.ConsoleHandler.level = ALL
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
                代码变成下图,如果不对还需要配置一下配置文件的具体地址就可以了:
/***Created by mo
 *On 2017/9/14  ***13:14.
 ******/
import java.io.IOException;
import java.io.InputStream;
import java.util.logging.LogManager;
import java.util.logging.Logger;
public class LoggerPropreties {
    static Logger logger = Logger.getLogger("LoggerPropreties");
    static LogManager logManager = LogManager.getLogManager();
    public static void main(String[] args) throws IOException{
        try {//读取配制文件
            InputStream inputStream = LoggerPropreties.class.getClassLoader().getResourceAsStream("logging.properties");
            logManager.readConfiguration(inputStream);
            logManager.addLogger(logger);  //添加Logger
            logger.severe("这是[severe]信息");
            logger.warning("这是[warning]信息");
            logger.info("这是[info]信息");
            logger.config("这是[config]信息");
            logger.fine("这是[fine]信息");
            logger.finer("这是[finer]信息");
            logger.finest("这是[finest]信息");
        } catch (SecurityException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch(ArithmeticException e) {
            e.printStackTrace();
        }
    }
}


          我们很容易得到结果为:


希望以上对你有所帮助!










  • Filter 日志过滤器,接口对象,在日志被 Handler 处理之前,起过滤作用

  • Filter 日志过滤器,接口对象,在日志被 Handler 处理之前,起过滤作用

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值