配置springboot日志,输出级别为info,运行时报错:
Caused by: org.springframework.boot.context.properties.bind.BindException: Failed to bind properties under 'logging.level' to java.util.Map<java.lang.String, java.lang.String>
at org.springframework.boot.context.properties.bind.Binder.handleBindError(Binder.java:250)
at org.springframework.boot.context.properties.bind.Binder.bind(Binder.java:226)
at org.springframework.boot.context.properties.bind.Binder.bind(Binder.java:210)
at org.springframework.boot.context.properties.bind.Binder.bind(Binder.java:166)
at org.springframework.boot.context.logging.LoggingApplicationListener.setLogLevels(LoggingApplicationListener.java:307)
at org.springframework.boot.context.logging.LoggingApplicationListener.initializeFinalLoggingLevels(LoggingApplicationListener.java:290)
at org.springframework.boot.context.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:238)
at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:200)
at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:173)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:74)
application.yml文件配置如下:
logging:
pattern:
console: "%d - %msg%n" # 定义打印的日志格式
# dateformat: #设置日志日期格式
# file: #定义输出到日志文件的日志格式
# config: #日志配置文件的位置。例如,classpath:logback.xml。
file: E:/sell/sell.log #设置保存日志的日志文件
# max-history:
# max-size: #设置日志文件最大大小 #设置日志等级
# path: / #日志文件的位置,例如/var/log
register-shutdown-hook: false #当初始化日志系统时,为其注册一个关闭钩子。
level: info
原因是日志级别配置错误,应该配置为
level:
root: info
原因如下:
在官方的文档找到如下图logging日志级别的配置,官方地址:https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-features-custom-log-levels
大致的意思就是我们可以使用TRACE, DEBUG, INFO, WARN, ERROR, FATAL, 或者 OFF来指定Spring项目日志级别,它的格式为:
logging.level.<logger-name>=<level>
所以我们在配置日志级别时要配置一个logger-name,所以我们可以像上图当中指定一个root,也可以指定一个包路径,配置成logging.level.root=WARN的意思就是配置根日志记录器,所以下面中的配置意思为:
logging.level.root=WARN
logging.level.org.springframework.web=DEBUG
logging.level.org.hibernate=ERROR
的配置就是org.springframework.web是DEBUG级别,org.hibernate是ERROR级别,其它项目的日志输出级别为WARN。