09_常用类_日志

概述

希望系统能记住某些数据是被谁操作的,比如被谁删除了?

想分析用户浏览系统的具体情况,以便挖掘用户的具体喜好?

当系统在开发或者上线后出现了bug,崩溃了,该通过什么去分析、定位bug?

System.out.print的弊端:

  • 信息展示在控制台,不能方便的将其记录到其他的位置(文件,数据库)
  • 想取消记录的信息需要修改代码才可以完成

日志技术的优点:

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

日志体系:

image-20230312162147989

日志接口:一些规范,提供给日志的实现框架设计的标准。

日志框架:牛人或者第三方公司已经做好的实现代码,后来者直接可以拿去使用。

注意:因为对Commons Logging接口不满意,有人就搞了SLF4J。
因为对Log4j的性能不满意,有人就搞了Logback,Logback是基于slf4j的日志规范实现的框架。

Logback

官网:https://logback.qos.ch/index.html

包含以下模块(jar包):

  • logback-core: 该模块为其他两个模块提供基础代码。 (必须有),依赖jar包slf4j-api
  • logback-classic:完整实现了slf4j API的模块。(必须有)
  • logback-access 模块与 Tomcat 和 Jetty 等 Servlet 容器集成,以提供 HTTP 访问日志功能(可选模块,以后接触)

使用方法

  1. 在项目中引用依赖jar包

  2. 在src目录下创建配置文件logback.xml

  3. 创建Logback框架提供的Logger日志对象,后续使用其方法记录系统的日志信息。

    public static final Logger LOGGER = LoggerFactory.getLogger(XXX.class);
    

配置文件说明:

  • 输出位置

    通过logback.xml 中的标签可以设置输出位置。通常可以设置2个日志输出位置:

    • 一个是控制台

    • 一个是系统文件中

  • 日志级别

    除此之外,日志级别还有: TRACE < DEBUG < INFO < WARN < ERROOR;
    每个级别对应一个方法,默认级别是DEBUG。

    当在logback.xml文件中设置了某种日志级别后,系统将只输出当前级别以及高于当前级别的日志。

    设置于配置文件中的root节点:

    <root level=“INFO">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE" />
    </root>
    
posted @ 2023-07-06 17:13  水木夏  阅读(1)  评论(0编辑  收藏  举报