日志在软件中的重要性,这里不加以赘述。
Logback是由log4j创始人设计的又一个开源日志组件。logback在性能和使用方面都比log4j来得高效与方便,而springboot也推荐使用logback。
那么我们就开始吧。springboot本身是自带了logback的相关jar的,只要直接使用就行,而对于logback的使用只需一个xml配置文件就可以了。关于每项配置的意义,就直接在配置文件中详细说明。
在src/main/resource下面创建logback.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- include 引用一些其它的配置 -->
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<!-- property 是一个配置项,可以存放一些键值变量。如下面所定义的 -->
<property name="LOG_FILE" value="blog" />
<!-- appender 一般用来定义所日志存放的方式,被root统一管理,这里是打印到控制层 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<!-- 内容编码 -->
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<!-- 保存到文件 -->
<appender name="FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
<charset>utf8</charset>
</encoder>
<!-- 日志文件名、大小、数量的配置 -->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- 日志文件格式 -->
<fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- 日志文件配置要求 each file should be at most 100MB, keep 60 days worth of history, but at most 20GB -->
<maxFileSize>10MB</maxFileSize>
<maxHistory>30</maxHistory>
</rollingPolicy>
</appender>
<!-- 保存到数据库,一般不使用,这里注释掉 -->
<!-- <appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
<connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
连接池
<dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource">
<driverClass>com.mysql.jdbc.Driver</driverClass>
<url>jdbc:mysql://127.0.0.1:3306/databaseName</url>
<user>root</user>
<password>root</password>
</dataSource>
</connectionSource>
</appender> -->
<!-- 日志的事务级别,这里方便测试,采用info -->
<root level="INFO">
<!-- 在文件和控制台都记录 -->
<appender-ref ref="FILE" />
<appender-ref ref="CONSOLE" />
</root>
</configuration>
为了方便测试,这里就直接在原来的Application类中加入一段对logback使用的代码,并运行测试。如:
package com.ruiyi;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class Application {
private Logger logger = LoggerFactory.getLogger(getClass());
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@GetMapping("/hello")
public String hello() {
logger.info("logback in hello");
return "hello spring boot";
}
}
启动后,访问http://localhost:8090/hello,成功访问后,观察如下:
打开发现
在文件和控制台就都有了。说明logback成功配置好了。
整个过程比较简单,下一篇我们来学习如何使用thymeleaf