springboot如何根据不同的日志级别显示不同的颜色
作者:海中源
这篇文章主要介绍了springboot如何根据不同的日志级别显示不同的颜色问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
springboot根据不同的日志级别显示不同的颜色
logback配置
<!-- Logback configuration. See http://logback.qos.ch/manual/index.html --> <configuration scan="true" scanPeriod="10 seconds"> <!--设置重要--> <property name="CONSOLE_LOG_PATTERN" value="%date{yyyy-MM-dd HH:mm:ss} | %highlight(%-5level) | %boldYellow(%thread) | %boldGreen(%logger) | %msg%n"/> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder charset="UTF-8"> <pattern>${CONSOLE_LOG_PATTERN}</pattern> </encoder> </appender> <!-- 每天生成日志文件,文件大小超过50则新生成一个文件, 同时将旧文件按${LOG_PATH}/info-%d{yyyyMMdd}.log.%i.zip格式压缩,文件保存30天 --> <!--<appender name="INFO_FILE"--> <!--class="ch.qos.logback.core.rolling.RollingFileAppender">--> <!--<!–<File>${LOG_PATH}/innovation-info.log</File> <!– 日志名称 –>–>--> <!--<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">--> <!--<fileNamePattern>${LOG_PATH}/innovation-info-%d{yyyy-MM-dd}.%i.log--> <!--</fileNamePattern>--> <!--<timeBasedFileNamingAndTriggeringPolicy--> <!--class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">--> <!--<maxFileSize>50MB</maxFileSize>--> <!--</timeBasedFileNamingAndTriggeringPolicy>--> <!--<maxHistory>30</maxHistory>--> <!--</rollingPolicy>--> <!--<layout class="ch.qos.logback.classic.PatternLayout">--> <!--<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}--> <!-- -%msg%n--> <!--</Pattern>--> <!--</layout>--> <!--</appender>--> <!--<appender name="DEBUG_FILE"--> <!--class="ch.qos.logback.core.rolling.RollingFileAppender">--> <!--<!–<File>${LOG_PATH}/innovation-debug.log</File>–>--> <!--<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">--> <!--<fileNamePattern>${LOG_PATH}/innovation-debug-%d{yyyy-MM-dd}.%i.log--> <!--</fileNamePattern>--> <!--<timeBasedFileNamingAndTriggeringPolicy--> <!--class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">--> <!--<maxFileSize>50MB</maxFileSize>--> <!--</timeBasedFileNamingAndTriggeringPolicy>--> <!--<maxHistory>30</maxHistory>--> <!--</rollingPolicy>--> <!--<layout class="ch.qos.logback.classic.PatternLayout">--> <!--<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}--> <!-- -%msg%n--> <!--</Pattern>--> <!--</layout>--> <!--</appender>--> <!--<appender name="ERROR_FILE"--> <!--class="ch.qos.logback.core.rolling.RollingFileAppender">--> <!--<filter class="ch.qos.logback.classic.filter.ThresholdFilter">--> <!--<level>ERROR</level>--> <!--</filter>--> <!--<!–<File>${LOG_PATH}/innovation-error.log</File>–>--> <!--<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">--> <!--<fileNamePattern>${LOG_PATH}/innovation-error-%d{yyyy-MM-dd}.%i.log--> <!--</fileNamePattern>--> <!--<timeBasedFileNamingAndTriggeringPolicy--> <!--class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">--> <!--<maxFileSize>50MB</maxFileSize>--> <!--</timeBasedFileNamingAndTriggeringPolicy>--> <!--<maxHistory>30</maxHistory>--> <!--</rollingPolicy>--> <!--<layout class="ch.qos.logback.classic.PatternLayout">--> <!--<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}--> <!-- -%msg%n--> <!--</Pattern>--> <!--</layout>--> <!--</appender>--> <root level="INFO"> <appender-ref ref="CONSOLE"/> <!--<appender-ref ref="INFO_FILE"/>--> <!--<appender-ref ref="ERROR_FILE"/>--> <!--<appender-ref ref="DEBUG_FILE"/>--> </root>
application.yml配置
#配置logback配置文件位置 logging: config: classpath:spring-logback.xml level: com: wx: tourism: debug org: springframework: info hibernate: debug # path: "c:/tourism/logs"
springboot中日志的简单使用
日志基础
日志的作用
1.编程期间调试代码
2.运营期记录信息
- 1)记录日常运营的重要信息(峰值流量,平均响应时常。。。)
- 2)记录应用报错信息
- 3)记录运维过程数据(扩容,报警。。。。。)
日志的使用
1.创建记录日志的对象
private static final Logger log = LoggerFactory.getLogger(StudentController.class);
注意不要引错包了
2使用lombok 提供的 @Slf4j简化开发,减少日志对象的声明操作
日志的级别
日志等级可以分为5个,从低到高分别是:
- DEBUG
- INFO
- WARNING
- ERROR
- CRITICAL
日志等级说明
- DEBUG:程序调试bug时使用
- INFO:程序正常运行时使用
- WARNING:程序未按预期运行时使用,但并不是错误,如:用户登录密码错误
- ERROR:程序出错误时使用,如:IO操作失败
- CRITICAL:特别严重的问题,导致程序不能再继续运行时使用,如:磁盘空间为空,一般很少使 用
默认的是WARNING等级,当在WARNING或WARNING之上等级的才记录日志信息。
日志等级从低到高的顺序是: DEBUG < INFO < WARNING < ERROR < CRITICAL
日志控制
日志只会显示等级大于等于当前级别的日志信息
在Springboot启动时默认使用的时INFO级别的日志,所以并不会显示DEBUG级别的日志
调低级别的方式
1 方式一 直接在Springboot配置文件中设置 debug : true 则开启DEBUG级别
2.方式二
这样即可设置根路径下日志级别为debug
设置某个包的日志级别
这个带表整个项目是debug级别的日志 这个包下是info级别的日志 但这样设置特别麻烦所以可以设置分组
设置分组给每一组设置不同的日志级别
小结
1.日志用于记录开发调试与运维过程消息
2.日志的级别通常使用的是四种 分别是DEBUG INFO WARN ERROR
3.可以通过日志组或代码包的形式进行日志级别的控制
日志输出格式控制
日志默认格式
PID : 进程ID,用于表明当前操作所处线程,当多服务同时记录日志时,该值可用于协助程序员调试程序
所属类/接口名 : 当前显示信息为Springboot重写后的信息,名称过长时,简化包名书写为首字母,甚至直接删除
设置日志输出格式
- 其中%d 为日期
- %m为消息
- %n为换行
- %p 级别
- %t 为线程名 %16t 则线程名占16位
- %clr 是添加颜色
例如 %clr(%m) 则日志消息带有颜色
记录日志到文件
默认记录到你当前项目下的文件中
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。