实现本地开发模式日志在控制台打印,生产环境日志只记录在文件中
...
<!--多环境日志存储目录,配置在application-dev.yml、application-test.yml、application-prod.yml中-->
<springProperty scope="context" name="log.path" source="log.path"/>
...
<!--输出到控制台-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%X{traceId}] [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
...
<!--输出到文件-->
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.path}/app.log.%d{yyyy-MM-dd}</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%X{traceId}] [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
...
<root level="info">
<appender-ref ref="file" />
<!--核心配置,只有当spring.profiles.active=dev时,才会在控制台打印日志-->
<springProfile name="dev">
<appender-ref ref="console" />
</springProfile>
</root>
...