日志框架及其使用方法

log4j和logBack,同一个人写的,logBack为log4j的升级版,SpringBoot中默认集成logBack

作用:记录软件发布后的一些bug,以及数据是怎样被操作的

传统开发弊端:

1.日志直接输出在控制台,关闭控制台后,日志消失

2.代码和日志耦合,需要到源码中去更改日志

日志技术优点:

1.可以将系统执行的信息,方便记录到指定的位置

2.可以随时以开关的形式控制日志的启停,无需侵入源码

核心模块:

1.logaback-core(必须有)

2.logback-calssic(必须有)

logback-access 可选

sl4j包下的LOGGER对象

日志记录不会覆盖,会在后面叠加

类名,自定义即可,代表日志对象的名称,可以自定义

LOGGER.info("重要的信息")

LOGGER.error("错误信息")

LOGGER.debug()执行流程

复制代码
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.30</version>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.2.3</version>
    <!--<scope>test</scope>-->
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-core</artifactId>
    <version>1.2.3</version>
</dependency>
复制代码
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- Console log output -->
<!--    name属性 追加到控制台-->
    <appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
<!--            输出的格式-->
            <!-- 格式化输出:%d:表示日期 %thread:表示线程名 %-5level:级别从左显示5个字符宽度-->
            <pattern>%d{HH:mm:ss.SSS} [%thread] > %green(%-5level) %cyan(%logger{35}) - %m%n</pattern>
        </encoder>
    </appender>

    <!-- Log file debug output -->
<!--    name属性追加到文件夹-->
    <appender name="File" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>d:/rczp-ssm/%d{yyyy-MM-dd}.log
                .zip</fileNamePattern>
            <!--日志最大保存时间-->
            <maxHistory>365</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} > %-5level %X{X-B3-TraceId:-} ${springAppName:-} %logger{35} %m%n</pattern>
        </encoder>
    </appender>
<!--    最低级别,大于等于此级别的日志才可以进行输出-->
    <root level="debug">
        <appender-ref ref="Console"/>
        <appender-ref ref="File"/>
    </root>
</configuration>

在resources目录下创建logback.xml配置文件。

spring会自动加载classpath路径下的配置文件,即resourecs目录下的配置文件,加载顺序如下:

首先尝试加载logback-test.xm

如未找到,尝试加载logback.groovy;

如未找到,尝试加载logback.xml;

如都未找到,则使用服务提供程序加载工具(在 JDK 1.6 中引入)通过在类路径中查找文件META-INF\services\ch.qos.logback.classic.spi.Configurator 来解析 com.qos.logback.classic.spi.Configurator接口的实现。 其内容应指定所需实现的完全限定类名。

如果上述操作均未成功,则 Logback 将使用BasicConfigurator自动配置自身,这将导致日志记录输出定向到控制台。

相关推荐
Hello World . .几秒前
数据结构:二叉树(Binary tree)
c语言·开发语言·数据结构·vim
好好研究2 分钟前
SpringBoot使用外置Tomcat
spring boot·后端·tomcat
叫我辉哥e12 分钟前
新手进阶Python:办公看板升级交互式可视化+移动端适配+多终端同步
开发语言·python
lynnlovemin6 分钟前
云原生提速秘籍:Spring Boot转Spring Native实战指南
spring boot·spring·云原生·spring native
1candobetter7 分钟前
JAVA后端开发——Spring Boot 组件化自动配置机制
java·开发语言·spring boot
索荣荣7 分钟前
Spring Boot 实现DOCX转PDF(基于docx4j的轻量级开源方案)
spring boot·后端·pdf
码农小卡拉9 分钟前
MyBatis-Flex 全面解析与实战教程:轻量高效的 MyBatis 增强方案
java·mybatis
没有bug.的程序员10 分钟前
Spring Boot 与 Sleuth:分布式链路追踪的集成、原理与线上故障排查实战
java·spring boot·分布式·后端·分布式链路追踪·sleuth·线上故障排查
一个网络学徒11 分钟前
python练习3
开发语言·python
专注VB编程开发20年15 分钟前
无 $ 后缀的变体版函数(Mid、InStr)
java·开发语言