Java_日志技术

一、日志技术

Java_日志技术_第1张图片
Java_日志技术_第2张图片
Java_日志技术_第3张图片

1.1 日志概述

想搞清楚什么是日志,其实可以通过下面几个问题来了解的。

  • 系统系统能记住某些数据被谁操作,比如被谁删除了?
  • 想分析用户浏览系统的具体情况,比如挖掘用户的具体喜好?
  • 当系统在开发中或者上线后出现了Bug,崩溃了,该通过什么去分析,定位Bug?

而日志就可以帮我们解决以上的问题。所以日志就好比生活中的日记,日记可以记录生活中的点点滴滴;而程序中的日志,通常就是一个文件,里面记录了程序运行过程中产生的各种数据。

日志技术有如下好处

  1. 日志可以将系统执行的信息,方便的记录到指定位置,可以是控制台、可以是文件、可以是数据库中。
  2. 日志可以随时以开关的形式控制启停,无需侵入到源代码中去修改。

1.2 日志的体系

知道了,什么是日志,日志能干什么。接下来需要给同学们介绍一下有哪些日志技术,以及日志的体系。

在行内,其实有很多日志框架给开发者使用。所谓日志框架就是由一些牛人或者第三方公司已经做好的实现代码,后来者就可以直接拿过去使用。

日志框架有很多种,比如有JUL(java.util.logging)、Log4j、logback等。但是这些日志框架如果使用的API方法都不一样的话,使用者的学习成本就很高。为了降低程序员的学习压力,行内提供了一套日志接口,然后所有的日志框架都按照日志接口的API来实现就可以了。

这样程序员只要会一套日志框架,那么其他的也就可以通用,甚至可以在多套日志框架之间来回切换。比较常用的日志框架,和日志接口的关系如下图所示
Java_日志技术_第4张图片

这里推荐同学们使用Logback日志框架,也在行业中最为广泛使用的。

Logback日志分为哪几个模块
Java_日志技术_第5张图片

1.3 Logback快速入门

Java_日志技术_第6张图片

接下来,快速使用一下Logback日志框架,使用Logback记录几条日志信息到文件中去和将日志信息打印在控制台上。

由于Logback是第三方提供的技术,所以首先需要啊将Jar包引入到项目中,具体步骤如下

  1. 在资料中找到slftj-api.jar、logback-core.jar、logback-classes.jar 这三个jar包,复制一下

  2. 在当前模块下面新建一个lib文件夹,把刚刚复制的三个jar包都粘贴到此处

  3. 从资料中找到logback.xml配置文件,将此文件复制粘贴到src目录下(必须是src目录)

  4. 然后就可以开始写代码了,在代码中创建一个日志记录日对象

    public static final Logger LOGGER = LoggerFactory.getLogger("当前类名");
    
  5. 开始记录日志,代码如下

    public class LogBackTest {
        // 创建一个Logger日志对象
        public static final Logger LOGGER = LoggerFactory.getLogger("LogBackTest");
     
        public static void main(String[] args) {
            //while (true) {
                try {
                    LOGGER.info("chu法方法开始执行~~~");
                    chu(10, 0);
                    LOGGER.info("chu法方法执行成功~~~");
                } catch (Exception e) {
                    LOGGER.error("chu法方法执行失败了,出现了bug~~~");
                }
            //}
        }
     
        public static void chu(int a, int b){
            LOGGER.debug("参数a:" + a);
            LOGGER.debug("参数b:" + b);
            int c = a / b;
            LOGGER.info("结果是:" + c);
        }
    }
    

当我们运行程序时,就可以看到控制台记录的日志
Java_日志技术_第7张图片

同时在文件中,也有一份这样的日志信息。文件在哪里内,从配置文件中去找
Java_日志技术_第8张图片

打开D:/log/data.log看一下文件中是否有记录日志吧!!
Java_日志技术_第9张图片

关于Logback的快速入门就做完了。至于日志的配置文件中,其他的配置是什么含义下一节再继续学习。

1.4 日志配置文件

Logback提供了一个核心配置文件logback.xml,日志框架在记录日志时会读取配置文件中的配置信息,从而记录日志的形式。具体可以做哪些配置呢?

1. 可以配置日志输出的位置是文件、还是控制台
2. 可以配置日志输出的格式
3. 还可以配置日志关闭和开启、以及哪些日志输出哪些日志不输出。
  • 如下图所示,控制日志往文件中输出,还是往控制台输出
    Java_日志技术_第10张图片

  • 如下图所示,控制打开和关闭日志
    Java_日志技术_第11张图片

  • 如下图所示,控制日志的输出的格式

    日志格式是由一些特殊的符号组成,可以根据需要删减不想看到的部分。比如不想看到线程名那就不要[%thread]。但是不建议同学们更改这些格式,因为这些都是日志很基本的信息。
    在这里插入图片描述

1.5 配置日志级别

Java_日志技术_第12张图片

  • 在哪里配置日志级别呢?如下图所示
    Java_日志技术_第13张图片

  • Logback只输出大于或者等于核心配置文件配置的日志级别信息。小于配置级别的日志信息,不被记录。

    配置的是trace,则trace、debug、info、warn、error级别的日志都被输出
    配置的是debug, 则debug、info、warn、error级别的日志被输出
    配置的是info,则info、warn、error级别的日志被输出
    ...
    

你可能感兴趣的:(Java,java,开发语言)