**日志门面和日志实现的关系:**日志门面类似于一种规定,只提供了一些统一的接口方法,但并没有具体实现,而日志实现是这些接口方法的具体实现方式,日志系统是通过日志实现来决定最终的日志格式、记录级别、输出方式等日志信息的输出方式。
**日志门面:**Slf4j
**日志实现:**Logback
此依赖默认被springboot框架所包含,不需要手动注入,可以直接使用。
日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,SpringBoot默认只会打印INFO以上级别的信息。
// 日志系统的原生使用
Logger logger = LoggerFactory.*getLogger*(MainController.class);
logger.warn("this is a warning");
// 通过Lombok的日志注解来实现,在springboot中使用的日志接口是Slf4j,
// 所以此时的注解为@Slf4j,写在需要使用日志的类上即可
log.error("This is a error"); // 打印一条错误日志
**实现自定义日志配置文件:**自定义属于自己的日志配置文件,此配置文件会替代原本的配置文件,配置文件名称建议是 logback-spring.xml,可以导出 html 格式的日志文件
控制台打印日志:
<!-- 文件名称:logback-spring.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 导入默认的配置文件,作为预设 -->
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<!-- Appender作为日志打印器配置,这里命名随意 -->
<!-- ch.qos.logback.core.ConsoleAppender是专用于控制台的Appender -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<charset>${CONSOLE_LOG_CHARSET}</charset>
</encoder>
</appender>
<!-- 指定日志输出级别,以及启用的Appender,这里就使用了我们上面的ConsoleAppender -->
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
</configuration>
文件打印日志: