SpringBoot使用logback自定义配置时遇到的坑

##问题描述 SpringBoot项目使用logback自定义配置后,会在/tmp/ 目录下生成 spring.log的文件(如下图所示)。

##解决方案 通过各种资料的搜索,最终发现问题的所在(logback配置如下)。

1<?xml version="1.0" encoding="UTF-8"?> 2<configuration scan="true"> 3 <include resource="org/springframework/boot/logging/logback/base.xml"/> 4 5 <springProperty scope="context" name="springAppName" source="spring.application.name"/> 6 <property name="LOG_FILE" value="logs/${springAppName}"/>7 8 <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> 9 <layout class="ch.qos.logback.classic.PatternLayout"> 10 <pattern> 11 %black(%d{ISO8601}) %highlight(%-5level) [%blue(%t)] %yellow(%C{1.}): %msg%n%throwable 12 </pattern> 13 </layout> 14 </appender> 15 <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 16 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 17 <fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.%i.log</fileNamePattern> 18 <maxHistory>90</maxHistory> 19 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 20 <maxFileSize>200MB</maxFileSize> 21 </timeBasedFileNamingAndTriggeringPolicy> 22 </rollingPolicy> 23 <encoder> 24 <charset>utf-8</charset> 25 <pattern>%d %-5level [%thread] %logger{0}: %msg%n</pattern> 26 </encoder> 27 </appender> 28 <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender"> 29 <queueSize>512</queueSize> 30 <appender-ref ref="FILE"/> 31 </appender> 32 <root level="DEBUG"> 33 <appender-ref ref="CONSOLE"/> 34 <appender-ref ref="ASYNC"/> 35 </root> 36 37 <!-- https://logback.qos.ch/manual/configuration.html#shutdownHook and https://jira.qos.ch/browse/LOGBACK-1090 --> 38 <shutdownHook class="ch.qos.logback.core.hook.DelayingShutdownHook"/> 39 40 <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator"> 41 <resetJUL>true</resetJUL> 42 </contextListener> 43 44</configuration>

###通过分析上面配置发现base.xml中包含了以下内容:

1<?xml version="1.0" encoding="UTF-8"?> 2 3<!-- 4Base logback configuration provided for compatibility with Spring Boot 1.1 5--> 6 7<included> 8 <include resource="org/springframework/boot/logging/logback/defaults.xml" /> 9 <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/> 10 <include resource="org/springframework/boot/logging/logback/console-appender.xml" /> 11 <include resource="org/springframework/boot/logging/logback/file-appender.xml" /> 12 <root level="INFO"> 13 <appender-ref ref="CONSOLE" /> 14 <appender-ref ref="FILE" /> 15 </root> 16</included>

从base.xml中可以看出来,会在/tmp/目录下默认生成一个spring.log,问题已经发现了,那就说明这里的配置需要更改,改成什么呢? 通过在github上查询,只需要将

<include resource="org/springframework/boot/logging/logback/base.xml"/>

替换成

<include resource="org/springframework/boot/logging/logback/defaults.xml" />

即可。

问题解决。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

SpringBoot使用logback自定义配置时遇到的坑

问题描述SpringBoot项目使用logback自定义配置后,会在/tmp/目录下生成spring.log的文件(如下图所示)。!(https://oscimg.oschina.net/oscnet/a876c5154d152b266a24066a444a685aede.png)解决方案通过各种资料的搜索,最终发现问题的所在(lo

SpringBoot使用logback自定义配置时遇到的坑 - HelloWorld