Spring Boot的起步依赖(如spring-boot-starter-web)中已经包含了Slf4j的依赖,无需额外添加。:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
当你在项目中添加了spring-boot-starter-web
依赖后,它将自动引入以下关键组件和依赖项:
- Spring MVC:用于构建Web应用程序的模型-视图-控制器(Model-View-Controller)框架。
- Tomcat(或其他嵌入式Web服务器):用于运行和部署Web应用程序。
- Spring Web:提供Web开发所需的核心功能,如请求处理、过滤器、异常处理等。
- Jackson(或其他JSON处理库):用于处理JSON数据的序列化和反序列化。
- 其他辅助依赖项:包括Servlet API、Spring Boot自动配置等。
通过添加spring-boot-starter-web
依赖,你可以方便地构建和开发基于Spring Boot的Web应用程序。它提供了必要的组件和配置,使你能够处理HTTP请求、定义控制器、处理表单提交、返回JSON或HTML响应等。
spring-boot-starter-web
依赖中已经集成了日志框架。在Spring Boot中,默认使用的是SLF4J(Simple Logging Facade for Java)作为日志抽象层,并且使用Logback作为默认的日志实现。
SLF4J是一个日志抽象层,它提供了统一的日志接口,可以与多个具体的日志实现框架进行集成。而Logback是SLF4J的一个实现,它提供了强大的日志功能和灵活的配置选项。
当你添加了spring-boot-starter-web
依赖后,它会自动引入spring-boot-starter-logging
依赖,该依赖会将SLF4J和Logback集成到你的项目中。这意味着你可以直接在代码中使用SLF4J的API进行日志记录,而无需额外的配置。
在项目中添加 logback-spring.xml 文件,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 -->
<!-- scan:当此属性设置为true时,配置文档如果发生改变,将会被重新加载,默认值为true -->
<!-- scanPeriod:设置监测配置文档是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。
当scan为true时,此属性生效。默认的时间间隔为1分钟。 -->
<!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->
<configuration scan="true" scanPeriod="10 seconds">
<contextName>logback</contextName>
<!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 -->
<property name="log.path" value="logs" />
<!--0. 日志格式和颜色渲染 -->
<!-- 彩色日志依赖的渲染类 -->
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
<conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
<conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
<!-- 彩色日志格式 -->
<property name="CONSOLE_LOG