springboot設置日志級別時報錯


配置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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM