java日志入门 (JUL等 2022/7/9 更新中)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

学习自黑马程序员

什么是日志?
日志文件是用于记录系统操作事件的文件集合,可分为事件日志和消息日志。具有处理历史数据、诊断
问题的追踪以及理解系统的活动等重要作用。

1 调试日志
软件开发中,我们经常需要去调试程序,做一些信息,状态的输出便于我们查询程序的运行状况。为了
让我们能够更加灵活和方便的控制这些调试的信息,所有我们需要专业的日志技术。java中寻找bug会
需要重现。调试也就是debug 可以在程序运行中暂停程序运行,可以查看程序在运行中的情况。日志主
要是为了更方便的去重现问题。

2 系统日志
系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通
过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。系统日志包括系统日志、应用程
序日志和安全日志

3 日志框架
在这里插入图片描述


一、JUL (称Java util Logging)学习

JUL全称Java util Logging是java原生的日志框架

使用时不需要另外引用第三方类库,

相对其他日志框架使用方便,学习简单,能够在小型应用中灵活使用。

调用关系如下
在这里插入图片描述

1 JUL快速入门案例

package com.YYL;
import org.junit.jupiter.api.Test;
import java.util.logging.Level;
import java.util.logging.Logger;

public class JULTest {

    @Test
    public void testQuick() throws Exception {
// 1.创建日志记录器对象
        Logger logger = Logger.getLogger("com.YYL.JULTest");
// 2.日志记录输出
        logger.info("hello jul");
        logger.log(Level.INFO, "info msg");
        String name = "jack";
        Integer age = 18;
        //使用占位符的方式拼接字符串 更加方便快捷
        logger.log(Level.INFO, "用户信息:{0},{1}", new Object[]{name, age});
    }
}

在这里插入图片描述

2 日志的级别

在这里插入图片描述

    @Test
    public void testLogLevel() throws Exception {
// 1.获取日志对象
        Logger logger = Logger.getLogger("com.itheima.log.QuickTest");
// 2.日志记录输出
        logger.severe("severe");
        logger.warning("warning");
        logger.info("info");
        logger.config("cofnig");
        logger.fine("fine");
        logger.finer("finer");
        logger.finest("finest");
    }

在这里插入图片描述
我们发现只看到了info和以上的级别
这代表JUL默认的日志级别是info

3 自定义日志级别

    @Test
    public void testLogConfig() throws Exception {
// 1.创建日志记录器对象
        Logger logger = Logger.getLogger("com.itheima.log.JULTest");
// 一、自定义日志级别
// a.关闭系统默认配置
        logger.setUseParentHandlers(false);
// b.创建handler对象
        ConsoleHandler consoleHandler = new ConsoleHandler();
// c.创建formatter对象
        SimpleFormatter simpleFormatter = new SimpleFormatter();
// d.进行关联
        consoleHandler.setFormatter(simpleFormatter);
        logger.addHandler(consoleHandler);
// e.设置日志级别
        logger.setLevel(Level.ALL);
        consoleHandler.setLevel(Level.ALL);
// 二、输出到日志文件
        FileHandler fileHandler = new FileHandler("D:\\logs\\JUL\\jul.log");
        fileHandler.setFormatter(simpleFormatter);

        logger.addHandler(fileHandler);
// 2.日志记录输出
        logger.severe("severe");
        logger.warning("warning");
        logger.info("info");
        logger.config("config");
        logger.fine("fine");
        logger.finer("finer");
        logger.finest("finest");
    }

流程大概如下
创建日志对象-- 关闭原有默认handler–
创建自定义的handler 和 format(格式化处理对象) 将其进行关联
再将handler和loger进行关联
设置日志的级别

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qwecxzz

鸡腿

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值