出于个人习惯我希望对springboot logging的console打印格式做一些小调整,
但是我依然希望使用它的原风格,这就需要找到他默认得自动配置,
但是我去自动配置里面找到的类上面并没有类似于:
@ConfigurationProperties(prefix = "spring.mvc") 的标记,
在类中也没有相关的信息,我知道肯定有但是我没有找到,特来求助
出于个人习惯我希望对springboot logging的console打印格式做一些小调整,
但是我依然希望使用它的原风格,这就需要找到他默认得自动配置,
但是我去自动配置里面找到的类上面并没有类似于:
@ConfigurationProperties(prefix = "spring.mvc") 的标记,
在类中也没有相关的信息,我知道肯定有但是我没有找到,特来求助
以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
Spring Boot 默认会根据环境变量和配置文件来决定输出到哪个日志系统。如果要自定义输出格式,可以尝试以下步骤:
在你的项目中添加一个日志框架,例如 Logback 或 SLF4J。
配置你的日志框架以支持你的需求。例如,如果你想要控制级别、日期时间等信息,你可以通过配置 Logback 来实现这一点。
在你的控制器或业务逻辑中,使用日志框架的日志记录方法,而不是直接调用 Console 输出。
下面是一个简单的例子,展示如何使用 Logback 为 Spring Boot 控制器添加额外的日志记录:
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class MyController {
@RequestMapping("/log")
public String logMessage() {
System.out.println("Hello from My Controller!");
return "redirect:/";
}
}
然后在你的 Logback 日志配置文件中,你可以在 <configuration>
标签下添加以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- 添加一个 Filter -->
<filter name="MyFilter">
<include name="**/*.log"/>
</filter>
<root level="info">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
这将会使所有的日志消息都打印到控制台,并且级别设置为 INFO。如果你想控制级别和日期时间,你需要修改这个配置。