自从 log4j 爆出史诗级漏洞后,使用日志系统都得谨慎着选了。保守起见选择使用 logback 作为日志组件。logback 在Spring Boot 内部已经引入,所以无需在增加 pom 依赖。
在 resources 目录下,新建 logback-spring.xml,下面给出一个我自己使用的模板,可以根据自己的需求修改其中的内容。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!-- 全局变量 -->
<property name="FILE_LOG_PATTERN" value="%d{yyyy-MM-dd HH🇲🇲ss.SSS} [%thread] %-5level %logger{50} - %msg %n"/>
<!-- 控制台输出 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${FILE_LOG_PATTERN}</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<!-- 文件输出 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>log/app.%d.%i.log</fileNamePattern>
<totalSizeCap>1GB</totalSizeCap>
<maxHistory>30</maxHistory>
<maxFileSize>15MB</maxFileSize>
</rollingPolicy>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
<logger name="com.jeffrey.springboottea" level="INFO">
<appender-ref ref="FILE"/>
</logger>
</configuration>
logback 使用时可以配合 lombok 的 @Slf4j
注解使用,直接调用 log.info() 或 log.error() 即可。
log.info("info test");