By default, Logback is used to print the log
file name: logback-spring.xml, SpringBoot automatically loads the xml file
Log specific configuration instructions
<configuration> <!--Display log color in console--> <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/> <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/> <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/> <!--Log file directory--> <springProperty scope="context" name="LOG_HOME" source="log.home" defaultValue="/data/logs/web-admin"/> <!--default log level for root --> <springProperty scope="context" name="LOG_ROOT_LEVEL" source="log.level" defaultValue="INFO"/> <springProperty scope="context" name="STDOUT" source="log.stdout" defaultValue="STDOUT"/> <!--Log file name prefix--> <springProperty scope="context" name="LOG_PREFIX" source="spring.application.name"/> <!--Log internal properties--> <property name="LOG_CHARSET" value="UTF-8" /> <property name="LOG_DIR" value="${LOG_HOME}/%d{yyyyMMdd}" /> <!--Generate log by day--> <property name="MAX_FILE_SIZE" value="1MB" /><!--Log file size--> <property name="MAX_HISTORY" value="7"/><!--days to keep logs--> <!--Console format configuration--> <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/> <!--Format configuration in log file--> <property name="LOG_MSG" value="- | [%d{yyyyMMdd HH:mm:ss.SSS}] | [%level]|[${HOSTNAME}] | [%thread]|[%logger{40}] | [--> %msg] |%n "/> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>${CONSOLE_LOG_PATTERN}</pattern> <charset>${LOG_CHARSET}</charset> </encoder> </appender> <!--All logs--> <appender name="FILE_ALL" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>${LOG_HOME}/all_${LOG_PREFIX}.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <FileNamePattern>${LOG_DIR}/all_${LOG_PREFIX}%i.log</FileNamePattern> <MaxHistory>${MAX_HISTORY}</MaxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>${MAX_FILE_SIZE}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>${LOG_MSG}</pattern> </layout> </appender> <!--Error log--> <appender name="FILE_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender"> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <OnMismatch>DENY</OnMismatch> <OnMatch>ACCEPT</OnMatch> </filter> <File>${LOG_HOME}/err_${LOG_PREFIX}.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <FileNamePattern>${LOG_DIR}/err_${LOG_PREFIX}%i.log</FileNamePattern> <MaxHistory>${MAX_HISTORY}</MaxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>${MAX_FILE_SIZE}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern>${LOG_MSG}</Pattern> </layout> </appender> <logger name="root" level="INFO"/> <!--Configure the log level according to different environments--> <springProfile name="default"> <logger name="com.shuangxin.admin" level="DEBUG"/> </springProfile> <springProfile name="prod"> <logger name="com.shuangxin.admin" level="ERROR"/> </springProfile> <root level="INFO"> <appender-ref ref="STDOUT"/> <appender-ref ref="FILE_ALL" /> </root> </configuration>
Effect display
2018-04-09 16:42:13.602 INFO 8188 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring FrameworkServlet 'dispatcherServlet' 2018-04-09 16:42:13.608 INFO 8188 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization started 2018-04-09 16:42:13.637 INFO 8188 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization completed in 29 ms 2018-04-09 16:42:13.727 INFO 8188 --- [nio-8080-exec-1] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited
Log split effect by minutes