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("...")
相关推荐
EumenidesJ23 天前
Java常用日志框架介绍
java·log4j·logback·slf4j
躲在没风的地方1 个月前
logback日志控制服务器日志输出
java·服务器·logback
ta叫我小白1 个月前
Spring Boot 设置滚动日志logback
java·spring boot·spring·logback
代码的余温1 个月前
Spring Boot集成Logback日志全攻略
xml·spring boot·logback
代码的余温1 个月前
Logback.xml配置详解与实战指南
xml·logback
清风92001 个月前
Logback——日志技术(基础)
java·前端·logback
代码的余温1 个月前
MyBatis集成Logback日志全攻略
java·tomcat·mybatis·logback
秋千码途1 个月前
小架构step系列08:logback.xml的配置
xml·java·logback
枣伊吕波2 个月前
第十五节:第六部分:日志技术:logback的核心配置文件详解、日志级别
logback
再见晴天*_*2 个月前
logback 日志不打印
java·服务器·logback