Springboot logback configuration

匿名 (未验证) 提交于 2019-12-03 00:56:02

问题:

I tryng to configure my springboot app to log in one file for day so I configure my logback.xml just like this:

<?xml version="1.0" encoding="UTF-8"?> <configuration>     <include resource="org/springframework/boot/logging/logback/base.xml"/>      <appender name="ROLLIN" class="ch.qos.logback.core.rolling.RollingFileAppender">         <file>${LOG_FILE}</file>         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">              <!-- daily rollover -->             <fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.log</fileNamePattern>          </rollingPolicy>     </appender>      <root level="INFO">         <appender-ref ref="ROLLIN" />     </root>      <logger name="org.springframework.web" level="INFO"/> </configuration> 

So when I try to run my app I got this error:

Exception in thread "main" java.lang.IllegalStateException: Logback configuration error detected:  ERROR in ch.qos.logback.core.rolling.RollingFileAppender[ROLLIN] - No encoder set for the appender named "ROLLIN".     at org.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration(LogbackLoggingSystem.java:151)     at org.springframework.boot.logging.AbstractLoggingSystem.initializeWithConventions(AbstractLoggingSystem.java:71)     at org.springframework.boot.logging.AbstractLoggingSystem.initialize(AbstractLoggingSystem.java:49)     at org.springframework.boot.logging.logback.LogbackLoggingSystem.initialize(LogbackLoggingSystem.java:106)     at org.springframework.boot.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:301)     at org.springframework.boot.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:253)     at org.springframework.boot.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:225)     at org.springframework.boot.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:201)     at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:163)     at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:136)     at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:119)     at org.springframework.boot.context.event.EventPublishingRunListener.publishEvent(EventPublishingRunListener.java:111)     at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:65)     at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:54)     at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:330)     at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)     at org.springframework.boot.SpringApplication.run(SpringApplication.java:1191)     at org.springframework.boot.SpringApplication.run(SpringApplication.java:1180)     at br.com.lumera.Application.main(Application.java:29) :bootRun FAILED 

回答1:

As exception says, there is no encoder defined. Try something like

  <appender name="ROLLIN" class="ch.qos.logback.core.rolling.RollingFileAppender">     <file>logFile.log</file>     <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">       <!-- daily rollover -->       <fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>        <!-- keep 30 days' worth of history capped at 3GB total size -->       <maxHistory>30</maxHistory>       <totalSizeCap>3GB</totalSizeCap>      </rollingPolicy>      <encoder>       <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>     </encoder>   </appender> 

For more details see official documentation



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!