日志框架及其使用方法

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

相关推荐
励碼3 分钟前
Spring Security 6.3 权限异常处理实战解析
spring boot
好开心3322 分钟前
axios的使用
开发语言·前端·javascript·前端框架·html
又蓝1 小时前
使用 Python 操作 Excel 表格
开发语言·python·excel
小灰灰要减肥1 小时前
装饰者模式
java
张铁铁是个小胖子1 小时前
MyBatis学习
java·学习·mybatis
余~~185381628001 小时前
稳定的碰一碰发视频、碰一碰矩阵源码技术开发,支持OEM
开发语言·人工智能·python·音视频
m0_748257181 小时前
Spring Boot FileUpLoad and Interceptor(文件上传和拦截器,Web入门知识)
前端·spring boot·后端
Am心若依旧4092 小时前
[c++11(二)]Lambda表达式和Function包装器及bind函数
开发语言·c++
明月看潮生2 小时前
青少年编程与数学 02-004 Go语言Web编程 20课题、单元测试
开发语言·青少年编程·单元测试·编程与数学·goweb
Yan.love2 小时前
开发场景中Java 集合的最佳选择
java·数据结构·链表