springboot中——Logback介绍

程序中的日志,是用来记录应用程序的运行信息、状态信息、错误信息等。

Logback基本使用

springboot的依赖自动传递了logback的依赖,所以不用再引入依赖

之后在resources文件下创建logback.xml文件,写入

XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>  
<configuration>  
    <!-- 控制台输出 -->  
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">  
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">  
            <!-- 一条记录输出格式:%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n -->  
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>  
        </encoder>  
    </appender>  

    <!-- 系统文件输出 -->  
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">  
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">  
            <!-- 日志文件的命名规则 -->  
            <FileNamePattern>/tlias/%d{yyyy-MM-dd}-%i.log</FileNamePattern>  
            <!-- 最多保留的历史文件数量 -->  
            <MaxHistory>30</MaxHistory>  
            <!-- 最大文件大小 -->  
            <maxFileSize>10MB</maxFileSize>  
        </rollingPolicy>  
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">  
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>  
        </encoder>  
    </appender>  

    <root level="debug">  
        <appender-ref ref="STDOUT" />  
        <appender-ref ref="FILE" />  
    </root>  
</configuration>

下面是一个具体的日志使用方法

java 复制代码
package com.managerweb;  

// 下面就导这些包
import ch.qos.logback.classic.Logger;  
import org.junit.jupiter.api.Test;  
import org.slf4j.LoggerFactory;  

public class testlogback {  
    // 创建日志记录器  
    private static final Logger log = (Logger) LoggerFactory.getLogger(testlogback.class);  

    @Test  
    public void testLog() {  
        // 输出开始计数的调试信息  
        log.debug("开始计数...");  

        int sum = 0; // 初始化总和  
        // 定义一个整数数组  
        int[] nums = {1, 5, 3, 2, 1, 4, 5, 4, 6, 7, 4, 34, 2, 23};  
        
        // 遍历数组,计算总和  
        for (int num : nums) {  
            sum += num; // 累加每个数字  
        }  

        // 输出计算结果的信息  
        log.info("计数结果为:" + sum);  
        
        // 输出结束计数的调试信息  
        log.debug("结束计数...");  
    }  
}

.xml文件的详细配置说明

配置文件名:logback.xml

该配置文件是对Logback日志框架输出的日志进行控制的,可以来配置输出的格式、位置及日志开关等。

常用的两种输出日志的位置:控制台、系统文件

XML 复制代码
<!-- 控制台输出 -->

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">...</appender>
XML 复制代码
<!-- 系统文件输出 -->

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">...</appender>

开启日志 (ALL),关闭日志 (OFF)

XML 复制代码
<root level="ALL">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>

除了all和off以外,还可以填入下面的日志级别里的关键词**(大于等于配置的日志级别的日志才会输出)**

将日志输出到系统文件的路径配置

<FileNamePattern>标签里写日志文件的存放位置,一般的格式如下

XML 复制代码
<!-- 日志文件的命名规则 -->
<FileNamePattern>D:/idea/javacode/%d{yyyy-MM-dd}-%i.log</FileNamePattern>

logback里的日志级别

日志级别指的是日志信息的类型,日志都可以分级别,常见的日志级别如下(级别由高到低)。

日志级别 说明 记录方式
error 错误信息 log.error("...")
warn 警告信息,记录潜在有害的情况 log.warn("...")
info 记录一般信息,描述程序运行的关键事件,如:网络连接、IO操作 log.info("...")
debug 调试,记录程序调试过程中的信息,实际应用中一般将其视为最低级别 log.debug("...")
trace 追踪,记录程序运行轨迹 log.trace("...")
相关推荐
我命由我1234516 小时前
Spring Boot 自定义日志打印(日志级别、logback-spring.xml 文件、自定义日志打印解读)
java·开发语言·jvm·spring boot·spring·java-ee·logback
字节王德发8 天前
什么是logback FixedWindowRollingPolicy的文件滚动策略?
java·数据库·logback
zru_96028 天前
springboot中logback日志配置
java·spring boot·logback
Foyo Designer10 天前
【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的日志管理:Logback 的集成
java·开发语言·spring boot·后端·spring·logback
₁ ₀ ₂ ₄16 天前
Logback 日志滚动策略配置指南:从基础到进阶
java·spring boot·logback
爱的叹息18 天前
java自带日志系统介绍(JUL)以及和Log4j 2、Logback、SLF4J不同日志工具的对比
java·log4j·logback
Kale又菜又爱玩1 个月前
Logback:高性能日志框架完全指南
java·springboot·logback
LUCIAZZZ1 个月前
通过logback日志简单实现链路追踪
java·spring boot·后端·计算机网络·spring·logback
Warren981 个月前
使用SLF4J + Logback进行日志记录:
java·开发语言·前端·javascript·笔记·intellij-idea·logback
handsomestWei1 个月前
logback日志输出配置范例
logback·java开发·wutool·日志输出配置