程序中的日志,是用来记录应用程序的运行信息、状态信息、错误信息等。
Logback基本使用
springboot的依赖自动传递了logback的依赖,所以不用再引入依赖
之后在resources文件下创建logback.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>
下面是一个具体的日志使用方法
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日志框架输出的日志进行控制的,可以来配置输出的格式、位置及日志开关等。
常用的两种输出日志的位置:控制台、系统文件
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">...</appender>
<!-- 系统文件输出 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">...</appender>
开启日志 (ALL),关闭日志 (OFF)
<root level="ALL">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
除了all和off以外,还可以填入下面的日志级别里的关键词(大于等于配置的日志级别的日志才会输出)
将日志输出到系统文件的路径配置
<FileNamePattern>标签里写日志文件的存放位置,一般的格式如下
<!-- 日志文件的命名规则 -->
<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("...") |