日志框架及其使用方法

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自动配置自身,这将导致日志记录输出定向到控制台。

相关推荐
January丶几秒前
SpringBoot整合ElasticSearch
spring boot
小园子的小菜12 分钟前
Java 并发四大工具类深度解析:CountDownLatch、CyclicBarrier、Semaphore、Exchanger 原理、源码与面试考点
java·开发语言·面试
搭贝低代码15 分钟前
设备管理系统迁移改造:从手工台账到二维码数字化的实践路径
java·低代码·搭贝
前端双越老师17 分钟前
Nest.js 和 Spring Boot 为何如此像?写给前端转 Java 的同学
java·spring boot·全栈
河西石头26 分钟前
再谈C#的抽象类和接口:从“适配器”到“毛坯房”的设计哲学
开发语言·c#·接口·依赖注入·抽象类·依赖倒挂
JL1527 分钟前
Java+Go 混合架构怎么搭?收官 50 道面试题 + 学习路线
java·架构·golang
颜x小28 分钟前
[C#]——接口与继承
开发语言·c++·c#
冻柠檬飞冰走茶31 分钟前
PTA基础编程题目集 7-17 爬动的蠕虫(C语言实现)
c语言·开发语言·数据结构·算法
咯哦哦哦哦32 分钟前
qt creator x86交叉编译arm 配置
开发语言·qt
Tattoo_Welkin38 分钟前
IDEA 中常用操作记载
java·elasticsearch·intellij-idea