参考链接:后端 - SpringBoot集成logback彩色日志配置以及banner启动设置(炫酷到爆炸!)_个人文章 - SegmentFault 思否
logback彩色日志配置
2.1 引入依赖
如果是Spring Boot项目,只需要web依赖即可。
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
网上很多教程引入了spring-boot-starter-logging这个依赖,其实不用,因为我们本身就是SpringBoot web项目,当我们引入web依赖的时候,就帮我们引入了logging相关的依赖配置了,所以我们不需要再额外引入
2.2 logback-spring.xml配置
默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台,在运行应用程序时,可以看到在未手动配置的情况下已经输出了很多INFO级别的日志。
日志基本从高到到低: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL
Spring Boot官方推荐优先使用带有-spring的文件名作为你的日志配置(如使用logback-spring.xml,而不是logback.xml),命名为logback-spring.xml的日志配置文件,spring boot可以为它添加一些spring boot特有的配置项
上面是默认的命名规则,放在src/main/resources下面即可。
当然你也可以改名称,在springboot配置文件中通过logging.config属性指定自定义的名字。
logging.config=classpath:logging-config.xml
2.3 logback-spring.xml官方彩色配置
这里我们参考官方推荐的配置方式,配置彩色日志属性:
http://logback.qos.ch/manual/layouts.html#coloring
控制台打印彩色日志配置方式:
%d{yyyy-MM-dd HH:mm:ss} [%thread] %magenta(%-5level) %green([%-50.50class]) >>> %cyan(%msg) %n打印输出:时间、线程名称、日志级别、Logger名、日志内容
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
日志输出到文件:
日志输出到文件,随着应用的运行时间越来越长,日志也会增长的越来越多,将他们输出到同一个文件并非一个好办法。RollingFileAppender用于切分文件日志:
下面是小编的完整配置:
<?xml version="1.0" encoding="UTF-8"?><configuration><property name="LOG_PATH" value="logs" /><property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %-40.40logger{39} : %msg%n" /><!-- 控制台输出 --><appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"><!-- 彩色日志 --><layout class="ch.qos.logback.classic.PatternLayout"><pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %magenta(%-5level) %green([%-50.50class]) >>> %cyan(%msg) %n</pattern></layout></appender><!-- 按照每天生成日志文件 --><appender name="fileLog" class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志文件输出的文件名--><FileNamePattern>${LOG_PATH}/cms.%d{yyyy-MM-dd}.%i.log</FileNamePattern><!--日志文件最大的大小--><timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"><maxFileSize>100MB</maxFileSize></timeBasedFileNamingAndTriggeringPolicy><!--日志文件保留天数--><MaxHistory>30</MaxHistory></rollingPolicy><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><pattern>${LOG_PATTERN}</pattern></encoder></appender><!-- 日志输出级别 --><root level="info"><appender-ref ref="consoleLog" /><appender-ref ref="fileLog" /></root></configuration>
完结!!!!!!!!!!!!!!!!