SpringBooot对日志的支持

    科技2022-07-14  127

    市面上常见的日志框架非常多如JCL、JUL、jboos-logging、logback、log4j、log4j2、slf4j SpringBoot 默认选用的是 logback、slf4j 对于以上两种日志,SpringBoot已经配置好了,可以直接使用,

    package com.mak.helloworld; import org.slf4j.Logger; //这里使用的slf4j @SpringBootTest class HelloworldApplicationTests { // 参数是当前类, Logger logger = LoggerFactory.getLogger(HelloworldApplicationTests.class); @Test public void testLog(){ logger.trace("trace============"); logger.debug("debug============"); logger.info("info============"); logger.warn("info============"); logger.error("info============"); } }

    此时打印的是info级别以以上级别的信息,所以SpringBoot默认日志级别是info。对于SpringBoot有七个日志级别,由低到高,TRACE<DEBUG<INFO<WARN<ERROR<FATAL<OFF

    public enum LogLevel { TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF; private LogLevel() { } }

    当然也可以修改日志级别,在全局配置文件中,下面是在properties文件中,也可以在yml文件中

    logging.level.com.mak.helloworld=warn # logging.level.主配置类所在包=级别

    当然也可以把日志输出到文件中

    logging.file=spring.log # 把日志保存到spring.log文件中 logging.path=D:/log # 把日志保存到log文件夹中,会自动创建一个名叫spring.log的日志日志文件

    修改日志格式

    logging.pattern.console=%d{yyy-MM-dd} [%thread] %-5level %logger{50} %msg%n logging.pattern.file=%d{yyy-MM-dd} [%thread] %-5level %logger{50} %msg%n # %d{yyy-MM-dd} : 日期时间,年月日 # [%thread] : 线程名 # %-5level : 显示日志级别,-5表示从左显示5个字符宽度 # %logger{50} : 设置日志长度 # %msg%n : 日志消息及会换行

    更加详细的信息看官网中介绍,也可以自定义日志配置

    Processed: 0.010, SQL: 8