found character ‘%‘ that cannot start any token. (Do not use % for indentation)

yml 配置文件

# 调整 某个 类 的日志级别
logging:
  level:
    com.springboot.template.ApplicationDemoTest: trace
  pattern: # 指定 控制台和文件 的输出格式
    console: %d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n
    file: "%d{yyyy‐MM‐dd HH:mm:ss.SSS} [%thread] %‐5level %logger{50} ‐ %msg%n"

控制台输出

Caused by: org.yaml.snakeyaml.scanner.ScannerException: while scanning for the next token
found character '%' that cannot start any token. (Do not use % for indentation)
 in 'reader', line 15, column 14:
        console: %d{yyyy-MM-dd} [%thread] %-5leve ... 

问题分析

found character ‘%’ that cannot start any token. (Do not use % for indentation)

找到字符"%",无法启动任何令牌。(不要使用 % 进行缩进)

yaml语法对格式是非常严格的

出现这个报错的原因是 yml 配置文件中缩进不规范造成的,导致spring启动读取yml配置文件不能正确读取

解决

利用双引号"":不会转义字符串里面的特殊字符

# 调整 某个 类 的日志级别
logging:
  level:
    com.springboot.template.ApplicationDemoTest: trace
  pattern: # 指定 控制台和文件 的输出格式
    console: "%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n"
    file: "%d{yyyy‐MM‐dd HH:mm:ss.SSS} [%thread] %‐5level %logger{50} ‐ %msg%n"

你可能感兴趣的:(springboot)